Linux系统安全攻防技术( 五 )


 
2. socks代理
推荐阅读:《内网渗透:使用ew实现socks代理》
https://www.freebuf.com/sectool/234254.html
 
例子,将earthworm作为socks代理使攻击者访问内网计算机
场景描述:攻击者(192.168.1.7)位于外网,无法访问目标网络内部的主机 。但是攻击者可以访问目标网络中对外暴露的服务器(192.168.1.8),这台服务器拥有内网IP地址(192.168.56.113),可以访问内网机器 。
攻击链路:攻击者以服务器(192.168.1.8)为跳板,攻击内网机器(192.168.56.101) 。
攻击方法如下:
(1) 跳板机操作
//攻击者以某种手段控制了被攻击系统后,将ew_for_linux传到被攻击系统,并将文件改名 。
mv ew_for_linux ew
//在8888端口上开启socks代理,ssocksd提供正向代理功能
./ew -s ssocksd -l 8888

Linux系统安全攻防技术

文章插图
 
ew开始监听端口了 。此时被攻击系统已成为跳板机 。可以看到截图中当前用户是root,实际上监听1024以上的端口无需root权限,普通用户即可 。攻击者连接到跳板机的8888端口之后,跳板机根据本机的路由表配置,将访问者的数据包从适当的网口转发出去 。转发之后,包的源地址会被修改为这个出口的IP地址 。
注意,在linux跳板机上转发数据包,内核的IP转发功能是需要开启的 。
 
(2) 攻击者本地运行全局代理
以proxychains为例,说明全局代理的用法:
apt install proxychains //安装proxychains
vi /etc/proxychains.conf //配置proxychains
将最后一行的socks4注释掉,添加下面的行,端口为跳板机上的ew监听的8888:
socks5 192.168.1.8 8888
保存退出
proxychains telnet 192.168.56.101 //通过socks代理访问目标机
Linux系统安全攻防技术

文章插图
 
登录成功 。也就是说,只要能访问到跳板机上ew代理程序的监听端口,就可以访问对跳板机来说路由可达的主机 。
 
(3) 验证
在目标机抓包,可以看到访问者的地址是跳板机的地址(192.168.56.113),也就是说,socks代理的工作是正常的 。
Linux系统安全攻防技术

文章插图
 
 
(八)隐蔽信道
网络协议信息隐藏(协议隐写)是一种利用数据包作为掩护载体,将秘密信息隐匿在网络协议的数据包之中的信息隐藏技术,它可以通过网络协议数据包中的保留、可选、未定义等字段和数据包的顺序、数量、到达时间、特定时间流量以及其它可被利用的特征,在网络中不同的主机之间建立隐蔽信道 。
 
下面举个例子,使用httptunnel建立基于http协议的隐蔽信道 。
1. 服务端启动监听
软件分为服务端(hts)和客户端(htc)两部分,分别进行如下的操作以实现隐蔽隧道:
//启动ssh服务
systemctl start ssh
//服务端程序hts监听本机的80端口,将接收到的数据转发给监听22端口的程序
hts --forward-port localhost:22 80
 
2. 客户端建立连接
//客户端将发给本地900端口的数据包转发到服务端(10.42.0.1)的80端口
htc --forward-port 900 10.42.0.1:80
//客户端使用ssh程序访问本地的900端口
ssh user1@127.0.0.1 -p 900
之后可以成功连接10.42.0.1的ssh服务
 
3. 验证
//在客户端ssh程序中执行命令,之后在服务器端抓包
tcpdump -i 网络接口
Linux系统安全攻防技术

文章插图
 
只抓到了http协议包,没有抓到ssh协议的任何数据,说明ssh协议数据被成功封装到了http包中,隐蔽隧道建立成功 。
 
(九)物理攻击
例如在CentOS 7系统中,如果能够以物理方式访问服务器,则可以通过下面的方法获得root权限:
//物理方式关闭服务器,之后打开电源,进入内核选择界面:
Linux系统安全攻防技术

文章插图
 
 
//按e键,进入编辑模式 。
在kernel引导行所在参数行尾添加以下内容init=/bin/sh(注意空格):
Linux系统安全攻防技术

文章插图
 
修改成:
linux16 /vmlinuz-3.10.0-327.el7.x86_64 root=/dev/mApper/centos-root ro
crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=
en_US.UTF-8 init=/bin/sh
 


推荐阅读