win计划任务小记 [ at schtasks ]
0x01 关于win系统计划任务的一些简单使用,03以前的系统中可使用 at 来执行各种系统计划任务
|
|
0x01 关于win系统计划任务的一些简单使用,03以前的系统中可使用 at 来执行各种系统计划任务
|
|
0x01 前言
strace 本身其实是一个非常好用的系统调用跟踪工具,运维们可以通过它快速锁定问题的根源,但,恰巧我们也可以通过这种方式来跟踪任何进程数据,比如ssh,su,sudo,这里以跟踪ssh登陆密码为例,大家可自行脑洞更多其它用法,关于strace自身的选项作用,请man strace
:
|
|
|
|
0x01 此次用于实验的大致环境,如下:
0x02 关于ssh 工具本身选项用途简介 [更多详情,请自行man ssh,帮助手册里面说的非常详细]:
0x01 前言:
如果你觉得netsh和iptables配置稍微有点儿繁琐,有款小工具可能会适合你,fpipe 一款专门用于端口重定向的小工具,从名字就能猜出来它是干啥的,很明显,forward pipe[转发,通过管道],虽然功能上和netsh有一点点类似,但确实不是一类东西,同样是监听来自外部的某个端口,但它多做了一步,它会把来自外部端口的流量先转到本地某个指定的端口上[转发],再通过转到的这个本地端口去连远程机器的某个端口[管道],而不是像netsh只是单纯的把端口转过去,简易通信流程如下
|
|
工具选项如下,非常简单,看选项说明基本就懂了:
0x02 我们可以拿它来做什么
刚刚在上面已经说过,它并非直接转发,而是又自己建立了一个新的通道,这样的好处在哪里呢,很明显,我们可以通过这样的方式来轻松bypass掉各类应用层防火墙
0x01 前言
作用和netsh差不多,这里就不废话了,直接看操作,还是同样的情况,只不过你此时拿下的是边界的一台linux服务器,依然想通过这台机器直接去访问内网的其它机器
0x02 环境大致如下:
0x03 最终目的
0x04 具体过程如下,首先,编辑边界linux机器的路由转发配置文件,开启其路由转发功能
0x01 前言:
除了前面提到的用一些端口转发工具来进行端口转发,其实windows系统自己也给我们提供了类似的功能,比如,其自带的防火墙管理工具netsh
套件[确实非常实用],尤其碰到一些稍微畸形点的内网环境
0x02 先来假设这么一种情况
当你搞定边界的一台windows机器以后,上去一看发现,机器上有两块网卡,一块外网卡,一块内网卡[先暂以正常的DMZ来讲],这时又你通过别的方式搞定了同内网的另一台windows机器,本来以为简单的种上马就可以走人了,但你发现马执行以后似乎什么都没发生,搞了半天,你才发现,原来这台内网机器根本不能连外网,说到这里,相必你也应该知道我要干啥了,没错,虽然内网的那台机器不能连外网,但它起码能跟边界的这台机器正常通信,这就够了,我们可以直接从外部通过边界这台机器来访问内网的那台不能连外网的机器
0x03 演示简单环境如下
0x04 要实现的目的很简单:
关于使用http隧道代理脚本时,容易出现的一些错误及解决办法
0x01 如果是php程序,你可能需要先确保php.ini中的socket模块已正常开启并且可用,因为php中的socket函数要基于此模块,不过,reGeorg早已经提供了不再需要开启socket的代理脚本
0x02 有时候你在绑定某些端口会遇到socket无法建立连接的问题,不妨尝试换一下端口,比如:53,8080,443,只要不跟目标系统中的现有端口冲突即可,尽量用一些穿透性比较好的端口
0x03 有时还会遇到aspx 运行错误,看具体是什么错误,如果一眼解决不了,谷歌一下,解决办法肯定一大堆,比如:’Compilation Error’,可以尝试在代理脚本[即webshell]的当前所在目录,另外新建一个web.conf文件,一般也即可解决,文件具体内容如下:
0x01 前言:
abptts,一款基于ssl加密的http隧道工具,相对来讲还算稳定,就个人实际使用来说起码比regerog都要稳定一些,且全程通信数据加密,能一定程度上对抗取证检测,单就这一点来说,还是很赞的,不过,加不加密,它自己说的不算,还是老办法,拿wireshark自己耐心跑一遍,就一目了然了,尽量用事实说话嘛
0x02 首先,安装好工具所需的各种py依赖库:
reGeorg [基于py,实际渗透过程中用的相对较多,稳定性一般,不过,使用还是非常方便的,推荐]:
0x01 和前面都一样,先把代理[webshell]上传到目标的网站目录中再说,记得顺手改下webshell的时间戳,尝试访问该shell,返回正常后,即可本地执行绑定操作,如下
0x02 连接绑定好的本地端口,推荐用proxifier或者sockscap,然后往里面添加一些自己常用的内网渗透工具,就可以对目标进行正常的内网渗透了
0x03 实际渗透中,个人还是比较推荐用这个,比较稳定,使用也比较简单,不过,还是有些令人不太愉快的地方,待后期解决了,再单独拿出来说
Tunna [实际渗透中,不太推荐,不稳定,经常断,阻塞,基于py编写]
0x01 依然是先把代理端[webshell]上传到目标的网站目录中,并尝试访问该webshell,返回正常后,即可在本地执行下面的语句:
|
|
0x02 先连接刚才绑定到的本地端口,在尝试用mstsc,putty等工具进行连接
0x03 比较的不稳定,尤其是php脚本,已经不太兼容php5.3以后的版本了,而且还要开启某些模块(socket)支持,利用条件确实有点儿苛刻
0x04 另外,tunna已经有相应的msf模块,也可以选择直接把它加到msf中使用
关于http隧道:
其实,所谓的http隧道[更专业的叫法 “80端口复用”],你暂时可以把它简单形象的理解成基于web端脚本实现的一个socks代理功能,只不过这个代理不用在目标端再新开一个端口而是直接复用在已有的端口(通常是web服务端口,由相应的webshell实现)上:
reduh[老牌的http隧道工具,基于java,所以你需要事先装下jre]
0x01 首先,把代理端[即webshell]上传到目标的网站目录中,并尝试访问,返回正常后,在本地执行:
0x02 开始绑定端口,建立隧道
0x03 隧道建立成功后,即可使用 mstsc,putty 等工具连接到本地绑定的端口[此处是绑定到本地的8088],当你访问本地的8088就相当于访问目标机器的3389[你也可以换成22,以及你想代理的任何端口,前提是目标的这个端口必须先开了才行]
关于reduh:
工具已经非常老了,应该是在很早之前,reduh的官网就已经发过相关声明,称reduh项目已经不再维护,现在已经被更好用的regerog所替代,不过,你要是实在没办法,还是可以尝试用下这个的,实际测试中,个人感觉reduh要比tunna还要好用一点,其实,所谓的好不好,跟目标实际环境和代码本身都有很大关系,这个也没必要非要分个好赖,适合自己的就是最好的,有兴趣可以仔细去详读一下工具代码
在不同平台下使用ssocks反向代理[linux内网中可能会用的比较多,当然,它一样也提供了相应的win版本]:
关于socks反向代理原理的简要说明:
其实,socks反向代理的通信原理还是比较简单的,就是在控制端和目标端同时开放一个端口,作为两端机器之间通信的这么一个专属通道[有点儿类似管道],说的再形象一点,是这样,当控制端想访问目标内网中的其他的机器的某个端口,目标端就会帮忙把要访问的那个端口的数据拿过来,放到之前已经建立好的这条通道的端口上,然后,控制端直接到这个地方来取即可,有点儿类似中介,socket嘛,本来就是个管道
在linux中使用ssocks:
0x01 如果目标是linux机器,可能还需要你自己先编译安装下ssocks,步骤非常简单,如下,如果过程中有什么报错,仔细看下报的具体是什么错误,顺手解决下,如果是编译器或者依赖库的问题,按照相应的提示装上即可:
0x02 先在本地机器上执行,一般都是你自己的vps,如果开了防火墙记得把该端口放开:
0x03 到目标机器上执行[自带台运行选项,实际渗透中可以把它加上]:
0x04 再回到自己本地通过各种socks代理工具,连到vps的socks代理的端口上,即可轻松访问目标内网中的资源
0x05 从连接信息中我们看到了socks连接建立成功的提示,如下
在win中使用ssocks:
0x01 本地机器上执行,一般都是自己的vps,如果开了防火墙记得把该端口放开:
0x02 到目标机器上执行[自带台运行选项,实际渗透中可以把它加上]:
0x03 依然是回到自己本地通过各种socks代理工具,连到vps的socks代理的端口上,而后正常的访问目标内网资源即可
小结:
这也是实际渗透过程个人比较推荐的内网代理方式,尤其当目标机器存在公网ip的时候,用这种方式进行内网渗透无疑是极好的,此工具基本是没有任何依赖,使用简单粗暴,相对来说也比较轻量,免杀就更不用说了[因为根本就不需要免杀],除此之外,还有很多其它优点,这里就不一一说了,大家自己多实践就会感受到了
htran 另一款要比lcx好用很多的端口转发及socks代理工具
1)首先,是最常规的端口转发功能:
0x01 首先,到vps上监听好指定的端口,意思是把本地的443端口流量转到本地的1234端口上
0x02 然后,回到目标机器上执行,意思就是把肉鸡的3389端口的流量转到vps的443端口上
0x03 最后,再回到vps本地用指定的工具连接到最开始转出到的1234端口上,如下
2)其次,是相对比较实用的socks代理功能,让目标机器作为socks代理端,对目标内网进行渗透,不过这可能需要目标机器有个固定的公网ip,不然怎么练上去呢:
0x01 先在目标机器上安装并启动socks5服务
0x02 然后,回到自己的vps上先监听好等会要连回来的端口,这里的-s才表示的是启用socks代理,而-p单单只是进行口转发
0x03 上面都准备好以后,此时再回到目标机器上,开始和vps建立socks连接,如下
0x04 连接建立后,我们现在就可以回到我们自己本地的渗透系统中,安装好socskcap代理工具 [当然,你用别的socks客户端也一样],然后再工具设置中填写好vps的ip和socks代理的端口 [这里是1234这个端口],不过,要注意,如果你的vps开了防火墙,务必记得把这几个代理用到的端口都放开,要不然,数据是过不来的
0x05 最后,再把自己常用的一些内网渗透工具加到sockscap中,就可以对目标进行正常的内网渗透了,效果如下
关于htran:
可能唯一的缺点还是需要免杀,工具也相对比较老了,2.4的源码应该早就放出来了,有兴趣可以down下来仔细分析下,个人觉得在实际测试中,它比lcx稍稳定一些,速度也还可以,确实是个很贴心的小工具
linux,win 平台下都有相应的已经编译好的版本,后期我会把自己用的工具都打包提供给大家,原理想必大家早已经非常清楚,其实本来就非常简单,所以这里就不废话了,简单使用如下
0x01 把来自外部的某个端口上的流量转到本地的某个端口上
首先,在自己的vps上执行监听准备:
而后,回到目标机器上去执行:
最后,再回到自己的vps上,看到连接正常建立,就可以用指定工具连接到目标机器上了:
此时当你在本地访问 127.0.0.1 的1234端口其实就相当于访问目标机器的rdp[3389端口]或者ssh[22端口]
关于lcx在linux中的用法,大同小异,只是参数不同而已,如下:
先在自己的vps上执行
|
|
而后回到目标机器上执行
|
|
最后,再回到自己的vps上执行
|
|
0x02 把来自外部的某个端口上的流量转到指定的其它机器的某个端口上,典型应用场景,把来自公网的meterpreter直接通过vps转到本地的msf中
,流程大致如下:
1),先把本地的kali连到vpn内网中[我是直接用自己的vps搭的vpn],因为等会儿要走vpn内网做转发,所以必须先连到vpn内网中,这是第一个比较关键的地方
此时再回到vps上ping下kali所在的vpn内网ip,确认kali和vps之间通过vpn内网通信没有任何问题
2),然后,回到本地的kali中开始生成payload,注意这里payload回连的ip要写自己vps的公网ip
3),payload生成好以后,就可以开始监听了
4),第二个关键的地方,到vps上去做下转发,意思是把来自外部的8080[其实是我们自己的payload的回连端口]端口的流量通过vpn内网转到kali的8080端口上
5),最后,把payload丢到目标上去执行,meterpreter被正常从公网弹回,稍微留意下这里的上线ip就知道,很显然,是通过vpn的内网ip过来的
关于lcx:
需要免杀,对于简单的内网还能凑活,对于现在的一些场景已经不能很好的适用了,个人在实际内网渗透过程中基本用的不多 [基本就是用来转下meterpreter和beef什么的],都是些简单辅助性的用途,工具也确实已经有些年头了,工具源码网上也到处都是,有兴趣可以仔细研读下[如果想自己过免杀的话],现在已经有很多更好的替代品,不过,这里还是感谢前辈们,在那个时代留给我们的财富
0x01 hydra 选项用途简要说明
这里暂以linux平台使用为例,实际测试中也推荐大家在linux平台上自己编译,不然有些服务模块可能不太好使,虽然已经有编译好的win版本,但不太建议实际用,如果真没办法非要在win上跑,建议大家还是用7.x之前的版本吧,新版本中确实还有很多问题
0x02 在linux中编译安装hydra,此处暂以centos6.8 x64为例:
务必事先安装好所需的各种依赖库,因为hydra在破解各种服务的时候,可能会用到各类服务自己devel库中的一些函数,也就意味着你可能要装很多个库,因为它本身就支持很多服务的在线爆破,其实,就这一点来说,hydra本身做的事情并不算多,因为大多都要依赖别的库函数来实现,这样来看的话,hydra本质上只是把各种服务整合了一下
0x03 安装 hydra 的各种依赖库
下面中的有一些库,有可能在你的环境中直接用yum装不上,没办法了,只能你自己稍微勤快点,去谷歌上找找,然后再单独手工把它装上,放心,肯定能找到解决办法的,如果中间有库装不上,可能在编译hydra时确实是可以编译成功,但等到后期实际爆破某些服务的时候就会出现各种问题
0x04 编译安装hydra
可以看到就hydra 本身的编译安装过程倒是非常简单,你也可以用–prefix指定安装目录,走的时候方便顺手把整个安装目录干掉即可
0x05 针对各类服务的实例爆破演示:
爆破mssql [大多可能都是直接针对sa,想快速getshell,实际测试速度和精度都还不错]:
爆破smb [速度还是比较快的,针对普通域内网的效果可能会好点]:
爆破rlogin [该服务用的可能已经不太多了]:
爆破mysql [可能主要也是针对root,如果目标有waf,可能就不太好使了,过多的数据库连接容易触发报警,如果目标是linux,爆破速度还是蛮快的]:
爆破postgresql [实际测试中,速度还是蛮快的咧]:
爆破rdp [ 对于08以上的系统基本就是个废,在本地多次测试均未成功,不过对于03以下的机器目前暂时还是比较可行的]:
爆破ssh [正常情况下的速度还可以,前面装libssh就是为了爆破它的]:
爆破smtp[需要带目标域名后缀,所有的邮箱破解类的实际测试中都不太稳定[怀疑是某些防护的原因],偶尔能跑出来,偶尔又跑不出来,不太建议实战中用]:
爆破pop3[不需要域名后缀,只需正确的账号密码即可,同样,很不稳定,有兴趣,可以拿常用公共邮箱测测精度,如:gmail,outlook,126,163,sina,qq…]:
爆破ftp [还算靠谱,不过需要前期好好搜集下目标的用户名]:
爆破telnet [靠谱]:
爆破vnc [无须用户名,本地多次测试都未成功]:
爆破snmp [暂时还好使]:
爆破svn [实际中多次测试均未跑出来]:
爆破ldap2/3(同样跑不出来):
爆破redis:
hydra 使用小结:
支持的服务比较多,这里就不一一演示了,大家可根据实际情况针对性的用,就个人使用来讲,hydra精度真的很一般 [尤其是在爆破各类邮件服务时,比如,pop3,smtp[这个还好点儿] ,imap,时好时坏,极不稳定,原因暂未找],速度也极为一般,单单就稳定性来讲,不是很靠谱,不过这里仅供参考,建议大家还是根据自己的实际情况来,一面之词,不足为信,大家可以自己实际使用为准
0x05 使用 medusa
偶尔会断,原因暂未查,不过,如果是实际爆破,相对来讲,个人还是比较推荐这个,尤其当拿下的目标机器是linux时,虽然,它支持的服务可能并没有hydra那么多,但个人还是比较喜欢它 [稳定,精度较高],毕竟是帮忙搞了不少事情,不幸的是,它没有win版,作者说它自己用Cygwin始终都没编译成功,如果你编译成功了,请立马告诉他,他也许还会请你喝杯啤酒啥的,嘿嘿……
支持爆破的服务模块,在kali中的默认路径如下:
自己编译后的默认服务模块路径,默认如下
关于不同系统平台所要安装的一些依赖库,在工具官方站点中已有详细说明,链接如下,请自行查看
编译安装medusa和hydra几乎没什么区别,非常简单[此处同样是以centos6.8 x64为例]:
0x06 常用选项功能说明,跟hydra选项用法基本一致,看看命令帮助就知道了,这儿不再细说:
0x07 下面是针对各类服务的一些实例爆破演示
爆破mssql [同样是只针对sa]:
爆破mysql [针对root用户]:
爆破smb [倒是很麻利]:
爆破postgresql [速度非常快]:
爆破rlogin [暂时还有些问题]:
爆破rdp [速度还不错,兼容性也非常好,起码自己在跑 2012r2 机器的rdp都没什么问题,12r2以下的系统版本就更不用说了]:
爆破ssh [速度一般,不过精度还可以]:
爆破telnet [还有问题]:
爆破ftp [实际测试中速度还是比较慢的]:
爆破smtp [跟hydra一样,所有的邮箱服务爆破都有问题]:
爆破imap:
爆破pop3:
爆破snmp [有问题]:
爆破svn [也有问题]:
爆破vnc [现在基本是没什么人用了,实际中遇到的也不太多,大多都换成了teamviewer]:
0x08 medusa使用小结:
0x09 关于patator
基于py2.7 ,可定制度高,实际中你也可以选择用pywin32之类的东西把它打包成exe,某些服务模块貌似只能在linux中运行[也可能是由于我自己的系统原因吧],另外,其它的问题也非常多,极不建议在实战中使用,拿来作为样本学习还是可以的:
安装好第三方py库
0x10 下面是实际爆破成功的一些服务
尝试爆破smb [速度还算可以]:
尝试爆破ftp [非常慢]:
尝试爆破ssh [速度一般]:
另外还要爆破各类post表单的,请大家自行尝试,这里不再细说
0x11 patator使用小结:
用来跑一些比较简单的服务和post表单还行,其它的就算了吧[基本是不能用于实际的渗透场景的],另外,脚本自身还存在n多问题,除了上面这几个服务可以成功,别的基本都是不可用的,尤其是在跑一些加密服务的时候,各种错,而且依赖的插件太多[说实话,如果是在目标机器上,我都有装py库的权限了,为什么还非要用你呢,当然,如果直接是socks代理进去,就更不会用你了],从代码也大概能看的出来,作者似乎有些漫不经心,反正个人很少用,大家随意
0x12 如果是直接处在目标域内网中,直接用powershell来爆破,无疑是极好的,优点,免杀效果好,小巧,灵活,定制度高,win平台首选,缺点,速度稍慢:
爆破mssql [sa]:
爆破ftp:
爆破域内用户:
0x13 使用 dbpwAudit [一款专门针对各类数据库的爆破工具一款专门针对各类数据库的爆破工具,优势在于利用驱动跑,速度非常快]
存放各类数据库驱动的默认目录:
爆破mysql [暂只支持mysql 5.1以下]:
爆破mssql [暂只支持mssql 2005以下]
0x14 利用 burpsuite 爆破各类登陆表单
0x15 基于perl的各种爆破小脚本,非常适合linux平台,抽空会补充上来:
一点小结:
不得不说,这类的爆破攻击,势必要在目标的系统里面留下大量的登陆日志,而且得别人让你爆才行,实际测试可知,先不说专业的ids,如果目标部署了mcafee企业套装,只要勾选了”爆破攻击”规则,这些工具基本就废了一大半,但,不一定就不好用,在你山穷水尽,走投无路之时,任何手段都是可以被尝试的,另外,个人还是更推荐用一些单文件[对于一款渗透工具来讲,其依赖自然是越少越好,体积越小越好,对系统影响越轻越好,也许你会发现,各种py工具表面貌似很强大,但仔细深究,基本全都是在用别人的库不停的重复造轮子……嘿嘿,不说了,怕挨打]的小脚本[上面这些工具需要安装的东西确实有点儿多],如果有,拿来改吧改吧用即可,实在没有,想办法自己写也行,尽管这种招数确实很低级,但你可以把它做的不低级 [比如,你可以把大量的功夫下在字典上],而且很高效,成败归根结底在人,如果你手里实在没有像样的0day,那就别硬装那个逼,虚心慢慢搞就是了,反正我们的最终目标是拿到目标系统的最高权限,至于中间用什么手段没人会在意,说的天花乱坠,但最终还是没有搞进去,等于说了一堆废话,务必时刻清楚,我们不是在做学术讨论,任何攻击研究,如果没法很好的用于实战,都是空架子,但当你真正搞进去了,哪怕你是用自己猜密码绝技进去的,你一样可以把它说的非常高深,这就是现实,没办法,有时候百分之九十九等于0,有时候百分之一等于100,在你没搞到完整权限之前,多做少说,方成大器,最后关于如何做字典的注意事项[程序算法始终有限],会在后续的相关文章中,仔细说明,比较多,话说回来,可能百分之九十九的人,都会觉得爆破是很low的,嘿嘿……其实,我想说,如果你前期的信息搜集非常到位,爆破往往是最快,最直接,也是最致命的,顺便提醒大家一下,小心蜜罐