老旧但不乏经典的高级组包工具 [ Hping3 ]
前言:
一款经典的高级组包工具,虽然老旧,但不乏经典,你完全可以利用它任意组装专属的 tcp,udp,icmp 数据报文格式,废话不多说,咱们直奔主题…
0x01 实验环境:1
2kali ip:192.168.3.38
CentOS6.9 [MidLAMP] ip:192.168.3.16[eth1] 192.168.3.19[eth0] 在此机器上编译安装hping3
0x02 编译安装 hping3:1
2
3
4
5
6
7
8# yum install libpcap-devel tcl-devel -y
# wget http://www.hping.org/hping3-20051105.tar.gz
# tar xf hping3-20051105.tar.gz
# cd hping3-20051105
# vi bytesex.h
|| defined(__x86_64__) \ 为了防止后续编译出错,需要在第一个判断下添加此句,如下图所示,添加64位系统平台
# ln -s /usr/include/pcap-bpf.h /usr/include/net/bpf.h
# ./configure && make && make strip && make install
文件隐藏 之 NTFS 交换数据流
0x01 关于 NTFS 交换数据流1
2
3NTFS 交换数据流属于NTFS文件系统独有的特性,在NTFS文件系统下,每个文件都可以存在多个数据流
也就是说,除了主文件流之外,还可以有很多非主文件流寄宿在主文件流中,内部使用资源派生来维持与文件相关的信息
虽然,我们无法看到数据流文件,但是它却真实存在于系统中,更多更细致的解释,大家可自行参考百科或ntfs官方文档...
0x02 如何实际创建一个数据交换流文件,其实方法很简单,如下1
命令格式 "宿主文件:准备与宿主文件相关联的数据流文件"
0x03 演示环境1
2win2008r2cn ip: 192.168.3.23
kali ip: 192.168.3.38 等会儿弹meterpreter用
DNS隧道 之 端口转发 [ 一 ]
0x01 本次实验环境大致如下:1
2
3
4centos7_x64[heightlamp] 公网ip: 192.168.3.42 假设为入侵者自己的公网机器,即dns2tcp客户端
centos7_x64[heightlnmp] 公网ip: 192.168.3.41 内网ip: 192.168.32.123 假设为目标DMZ中的机器,有防火墙,即dns2tcp服务端
win2012r2en 公网ip: 192.168.3.123 假设为入侵者自己公网的dns服务器
centos6.8_x64[Midlnmp] 内网ip: 192.168.32.212 假设为目标内网中的一台linux机器
0x02 我们要实现的最终目的1
2
3
4正常情况下,我们本想通过heightlnmp机器来访问目标内网中Midlnmp的ssh,但苦于heightlamp和heightlamp之间的防火墙
且防火墙只允许真正的dns流量通过,所以,我们现在想通过在自己公网的dns服务器上做转发来绕过它们之间的防火墙
即在heightlamp和heightlnmp之间建立一层dns隧道,把要转发的端口数据都封装在dns流量里面进行穿透
最后实现的效果就是,当我访问heightlamp的某个指定端口,就可以直接访问到目标内网中的Midlnmp的ssh
轻量高效的 MITMF [ Bettercap ]
0x01 关于bettercap:1
2
3一款相对还不错的中间人工具,出来也有些年头了,不过貌似维护的并不是特别勤快
从名字就不难看出,作者似乎是有意在向我们说明,这是一款比ettercap更好的中间人工具,'b' is better ^_^
此外,工具本身基于ruby,官方要求的 ruby版本为 >= 1.9
0x02 基本介绍:1
2
3
4ubuntu 16.04.3 LTS ip: 192.168.3.12 入侵者机器
win2008r2cn ip: 192.168.3.23 模拟正常服务器,事先已准备好各种服务
win2008cn ip: 192.168.3.131 模拟正常服务器,事先已准备好各种服务
win2012r2cn ip: 192.168.3.122 模拟正常服务器,事先已准备好各种服务
0x03 首先,安装好bettercap,如果你系统的ruby版本小于1.9记得务必先升级一下,更多详情请参考其官方说明,如下1
2
3# apt-add-repository ppa:brightbox/ruby-ng
# apt-get update
# apt-get install ruby2.3 ruby2.3-dev
基础命令使用 [ Win篇 ]
0x01 基础命令使用:
演示环境:1
2win2008R2cn ip: 192.168.3.23 假设为入侵者机器
win2012R2cn ip: 192.168.3.122 假设为目标机器
1 | # whoami /all 查当前用户在目标系统中的具体权限,这可能会成为你一上来的习惯性动作 ^_^ |
查看本机ip配置:1
2# ipconfig /all 查看本机ip配置,观察本机是否在域内,内网段有几个,网关在哪里
# ipconfig /displaydns 查看本地DNS缓存
查看当前机器中所有的网络连接:1
2
3
4
5
6# net start 查看本机运行的所有服务
# netstat -ano 查看本机所有的tcp,udp端口连接及其对应的pid
# netstat -anob 查看本机所有的tcp,udp端口连接,pid及其对应的发起程序
# netstat -ano | findstr "ESTABLISHED" 查看当前正处于连接状态的端口及ip
# netstat -ano | findstr "LISTENING" 查看当前正处于监听状态的端口及ip
# netstat -ano | findstr "TIME_WAIT"
灵活击穿目标多级内网纵深 [ Termite ]
0x01 关于termite [ Earthworm的升级版 ]
,程序地址, http://rootkiter.com/Termite/1
2
3一款极度小巧灵活的跳板机,有别于传统socks代理,它对于复杂内网环境下的渗透适用性更强,操作也极为简便
废话不多说,大家可自行在实战中多多体会,工具本身其实并无好坏,大部分还在乎用工具的人,退一万步来讲,即使工具再好,也顶不住别人用的烂 ^_^
在此也非常感谢 rootkiter 的无私贡献,真心希望圈子能多一些这样少说话多做事的人 ^_^
0x02 程序分为两部分,admin[为控制端]
和agent[为代理端节点]
,admin和agent所有选项用途均一致1
2
3-l 指定本地socks端口,等待远程连
-c 指定远程socks机器ip
-p 指定远程socks机器端口
0x03 此次模拟环境如下:1
2
3
4lnmp01 假设为我们自己的vps 其公网ip为: 192.168.3.30
MidLAMP 目标内网的linux机器 其内网ip为: 192.168.32.192
win2008r2cn 目标内网的win机器 其内网ip为: 192.168.32.134
win7cn 入侵者本地内网机器 其内网ip为: 192.168.32.168 [因为这里用虚拟机模拟的,所以内网段和目标一样]
利用Icmp隧道 轻松穿透 Tcp/udp四层 封锁
关于icmp 隧道使用场景简单说明:1
两台机器间,除了允许相互ping [ 即icmp通信 ],其他的tcp/udp端口一律不允许,此时我们就可考虑利用icmp隧道进行穿透
0x01 此次用于演示的环境大致如下:1
2
3
4lnmp01 ip: 192.168.3.30 入侵者机器
MidLAMP ip: 192.168.3.19 为目标linux机器,即icmp跳板机
win2008R2cn ip: 192.168.3.23 为目标windows机器,开启了3389
win7en ip: 192.168.3.17
1 | lnmp01想访问win2008R2cn的3389,由于win2008R2cn开了防火墙且做了ip限制,没法直接从lnmp01上进行访问 |
内网渗透之 Teamviewer隧道
0x01 关于teamviewer1
一款优秀的远控工具,通信数据全程加密,用户量也非常庞大,想必大家早都用烂了,这里就不多废话了,咱们直奔主题...
0x02 此次实验环境:1
2win2008R2cn ip: 192.168.32.134 假设为目标内网中的一台已控win服务器,已装好teamviewer且为启动状态,vpn功能也已打开
win7en ip: 192.168.3.17 假设为自己本地内网中的一台普通win机器,已装好teamviewer且为启动状态,vpn功能也已打开
0x03 想实现的最终目的1
2
3通过teamviewer自带的vpn功能,对目标内网进行渗透
想在目标win2008R2cn和本地win7en之间通过teamviewer搭建一条专有通道,方便对目标内网进一步渗透
即通过teamviewer 实现简易的 '双内网'通信
0x04 在两端机器上安装好teamviewer,务必记得安装时,选择’高级’安装,把’vpn功能’都勾选上,主要就是用这个功能
MySQL 主从复制 完全上手指南
0x01 在说mysql主从复制之前,我们先来大致了解一些关于不同级别的同步方案
基于文件级别的同步
非实时同步1
scp/sftp/ftp/samba/rsync/union....
实时同步1
NFS/inotify/sersync/lsyncd....
基于文件系统级别的同步
1
drbd...
基于数据库级别的同步
,对于数据库而言基本都属于实时同步,但实时并不一定意味着就是同步操作,也可能是用异步的方式在操作1
2
3
4mysql replication 虽然异步的,但实现的效果基本上是实时的
oracle
redis
mongodb
一键抓取目标机器上的所有明文密码
几乎支持市面上大部分常用工具,另外,脚本自身基于py,跨平台性相对较好,免杀效果也还不错,不过,实战中务必要在一个较高权限[最好是提权后的root或system]下运行,否则你很可能什么都抓不到,实战中用过几次,主要是想用它来搜集内网机器上的各种密码,但,并不是特别靠谱,有些行为还是很容易被杀软捕捉到,自己如果不会免杀,就很头疼了,更多详情大家可自行参考其github, https://github.com/AlessandroZ/LaZagne 话说回来,作为学习样本还是很不错的