网络安全学习--007--漏洞分析
前言
本文主要介绍渗透测试时如何常见的普通攻击手段,以及使用何种工具进行漏洞分析,以及手工分析漏洞的简介,以及一些弱口令的,目录遍历的简单介绍。
提示:以下是本篇文章正文内容,下面案例可供参考
一:常见漏洞分析工具有哪些
常见的漏洞分析工具:
1.NMAP
(1)主机探测
-
扫描单个主机 nmap 192.168.1.2 扫描整个子网,命令如下: nmap
- 192.168.1.1/24 扫描多个目标,命令如下:
-
nmap 192.168.1.2 192.168.1.5 扫描一个范围内的目标,如下:
- nmap 192.168.1.1-100 (扫描IP地址为192.168.1.1-192.168.1.100内的所有主机)
-
如果你有一个ip地址列表,将这个保存为一个txt文件,和namp在同一目录下,扫描这个txt内的所有主机,命令如下:
- nmap -iL target.txt
-
如果你想看到你扫描的所有主机的列表,用以下命令:
- nmap -sL 192.168.1.1/24
-
扫描除过某一个ip外的所有子网主机,命令:
- nmap 192.168.1.1/24 -exclude 192.168.1.1
-
扫描除过某一个文件中的ip外的子网主机命令
- nmap 192.168.1.1/24 -excludefile xxx.txt(xxx.txt中的文件将会从扫描的主机中排除)
(2)端口扫描
常用命令:
-
nmap -F -sT -v nmap.org
-
-F:扫描100个最有可能开放的端口
-
-v 获取扫描的信息
-
-sT:采用的是TCP扫描 不写也是可以的,默认采用的就是TCP扫描
-
-p 指定要扫描的端口
- -p 80,90,3306,10-100
扫描端口状态
只有open状态的端口是对我们有效的,只有确定这些端口的开放程度,才能进行我们下一步的端口爆破工作
TCP扫描(-sT)
这是一种最为普通的扫描方法,这种扫描方法的特点是:
扫描的速度快,准确性高,对操作者没有权限上的要求,
但是容易被防火墙和IDS(防入侵系统)发现
运行的原理:通过建立TCP的三次握手连接来进行信息的传递
① Client端发送SYN;
② Server端返回SYN/ACK,表明端口开放;
③ Client端返回ACK,表明连接已建立;
④ Client端主动断开连接。
SYN扫描(-sS)
这是一种秘密的扫描方式之一,因为在SYN扫描中Client端和Server端没有形成3次握手,所以没有建立一个正常的TCP连接,因此不被防火墙和日志所记录,一般不会再目标主机上留下任何的痕迹,但是这种扫描是需要root权限(对于windows用户来说,是没有root权限这个概念的,root权限是linux的最高权限,对应windows的管理员权限
抓鸡往往都是采用SYN扫描,这种扫描较为隐蔽不易被发现,
抓鸡的大致流程介绍一下:针对某外网的网段进行扫描,主要探测1433,3389端口,然后弱口令爆破该端口,爆破成功后,往主机里写木马,然后进行控制使用即可,了解了抓肉鸡的流程后,也一定要了解一下网络安全法,抓肉鸡的代价太大。
-
使用UDP ping探测主机:
- nmap -PU 192.168.1.0/24
-
服务版本探测
- nmap -sV 192.168.1.1
-
精准地确认端口上运行的服务
- nmap -sV --script unusual-port 192.168.1.1
(3)服务版本扫描
(4)主机系统指纹识别
- nmap -O 192.168.1.19
- nmap -A 192.168.1.19
- -oN 导出扫描结果
- -oX 导出扫描结果xml格式
(5)密码破解
- 暴力破解VNC
nmap --script vnc-brute --script-args brute.guesses=6,brute.emptypass=true,userdb=/root/dictionary/user.txt,brute.useraspass=true,passdb=/root/dictionary/pass.txt,brute.retries=3,brute.threads=2,brute.delay=3 42.96.170.128
- 破解telnet
nmap -p 23 --script telnet-brute --script-args userdb=myusers.lst,passdb=mypwds.lst --script-args telnet-brute.timeout=8s 192.168.1.1
- ftp弱口令暴力破解
nmap --script ftp-brute --script-args brute.emptypass=true,ftp-brute.timeout=30,userdb=/root/dirtionary/usernames.txt,brute.useraspass=true,passdb=/root/dirtionary/passwords.txt,brute.threads=3,brute.delay=6 192.168.1.1
端口的弱口令还是要使用专业的工具进行爆破,如,九头蛇
(6)漏洞探测
- HTTP.sys 远程代码执行
- nmap -sV --script http-vuln-cve2015-1635 192.168.1.1
-
IIS 短文件泄露
-
nmap -p 8080 --script http-iis-short-name-brute 192.168.1.1
-
拒绝服务
- nmap --max-parallelism 800--script http-slowloris www.cracer.com
- 验证http 中开启了put 方法
nmap --script http-put --script-args http-put.url=/uploads/testput.txt,http-put.file=/root/put.txt 218.19.141.16
验证MySQL 匿名访问
nmap --script mysql-empty-password 203.195.139.153
(7)创建扫描脚本
(8)防火墙躲避绕过
- -f 分片绕过
- -D使用诱饵隐蔽扫描
- NMAP -D 1.1.1.1,222.222.222.222 www.cracer.com
- –source-port 源端口欺骗
2.AWVS
3.Burpsuite
4.椰树
5.M7Lrv
以上工具的使用就不在这里介绍了,等以后有机会再写一些关于这方面的文章吧,多数工具都是用不着的工具使用贵精不贵多,不过据听说,M7有后门,剩下的破解版也不一定安全,但也不用过于担心。
二:黑客的迂回“打法”
当我们测试的目标站没有漏洞怎么办呢?
这时我们要从旁站与C段入手,来个迂回攻击。
1.旁站:
(1)为什么要入侵旁站?
由于一些单位为了节省开支,经常会把多个网站(这些网站也可能是多家企业的)搭建在同一台服务器上,我们把我们攻击的目标站以外的站点称为旁站。由于各企业对于旁站的不重视,使得旁站的漏洞较多,这时我们通过入侵旁站,进而入侵这台服务器,当服务器被入侵成功时,我们就可以顺理成章地攻破目标站。
(2)如何有效的入侵旁站
- 要注意高位端口的扫描,因为有些管理员通过端口来搭建多个站点到同一台服务器上
- 要注意子域名的收集,有些管理员喜欢通过不同的域名来搭建多个站点 所以我们在着手入侵旁站时,一定要注意多方向信息收集
- 信息收集的手段,可以参考上一篇博客文章
(3)漏洞扫描
- 当我们收集到大量旁站信息后,首先要进行数据整理,然后通过一些扫描工具进行批量扫描,这个时候就别手工测试了,因为往往旁站的测试工作量较大。
- 扫描工具:wvs、御剑、椰树、M7lrv等工具进行目录、注入、漏洞、后台、等相关扫描.
2.C段
当我们无法从旁站成功入侵时,这时就不得不考虑C段了
(1)什么是C段:
C段是一个ip地址的概念,这里就是指将我们入侵的网站服务器ip看作一个C类ip地址,当然这里的C段仅仅是逻辑上的,是扫描器自己认为的C段,并不是物理上的集群概念,即通过同一个路由器出去。
(2)为什么要入侵C段?
在C段的其他服务器上可能有一些漏洞,较容易被我们利用,当我们成功入侵其他服务器时,我们就进入了目标服务器的内网,在内网中进行入侵目标站较为简单。不过要注意攻击离主站目标较近的服务器,这样成功的机率较大。
(3)C段扫描工具:
御剑修改版,等其他工具。
下面我们看一下,扫描时的具体状况:
(4)C段利用
基于站点漏洞利用方法:
- 当我们扫描出c段地址中的网站时,一般站点数量比较多,我们通常使用的方法是批量查找站点漏洞。
常用工具同旁站相同
- 例如:wvs、御剑、椰树、M7lrv等工具进行目录、注入、漏洞、后台、等相关扫描工具.
基于服务器漏洞的利用方法:
-
服务密码破解:这里主要采用爆破的方式
-
服务漏洞溢出:这里主要通过利用曝出的exp漏洞
-
端口批量测试:
- Windows:135、139、445、3306、1433、3389、8080
- Linux:22
注:在进行C段服务器利用时,要尽量利用windows系统的,尽量避开Linux,因为windows的漏洞较多。
3.子域名
(1)子域名介绍:
我们正常访问的域名通常都是www.xxxxx.com,一般如果一个大站点,为了从功能上划分和便于管理,通常会创建不同的站点。而这些站点可能为bbs.xxxxx.com、xss.xxxxx.com 、she.xxxx.com,而这些域名我们称之为子域。这些域名和主站有着千丝万缕的关系,有的可能后台登录密码、数据库连接密码相同、有的可能都在一个服务器上,或者在同一个网段内。所以在渗透中子域也是我们不可忽略的捷径。
(2)子域名扫描
这里主推Layer扫描器,当然你也可以通过谷歌语法进行采集,这里不做介绍,因为这种方式较为麻烦,当然,你也可以写一个python脚本扫描。
(3)子域名利用
常用利用工具
例如:wvs、御剑、椰树、M7lrv等工具进行目录、注入、漏洞、后台、等相关扫描工具.
三:弱漏洞利用的方法
1.网站暴库漏洞
暴库,就是通过一些技术手段或者程序漏洞得到数据库的地址,并将数据非法下载到本地。黑客非常乐意于这种工作,为什么呢?因为黑客在得到网站数据库后,就能得到网站管理账号,对网站进行破坏与管理,黑客也能通过数据库得到网站用户的隐私信息,甚至得到服务器的最高权限。
当然,由于现在各个企业单位对网络安全的重视程度普遍提高,使得现在暴库的成功几率已经很小了,你可以试着跑到一些偏远的国度试试运气。
2.暴库利用方法:
暴库的方式,只需将下面的语句输入到谷歌里面就能看到了,当然这种方式也称作目录泄露,这时一种极其危险的状况,可能会造成信息泄露。
-
inurl:/inc/conn.asp
-
inurl:/inc+conn.asp
-
to parent directory
-
所有可以目录浏览的网页都有一些相同的地方,主要是下面几个:
- to parent directory
- last modified Description
- 转到父目录
-
而利用Google来搜索目录浏览的Google语法主要有:
-
intitle intext
-
inurl site
-
filetype pdf
-
-
搜索域名后缀,常见的域名后缀有:
-
com net mil org info gov edu biz coop areo pro int arpa
-
intext:to parent directory+intext:mdb site:xxx.aaa.cn
-
3.暴库绕过防下载
- #sdsf.mdb,下载时改成%23sdsf.mdb
- #@!$%^&*asdfkladsf@!#.mdb
- %23@%21%24%25%5E%26%2aasdfkladsf@%21%23.mdb
4.高级语法暴库:
- inurl:./…admin…/…add…
- inurl:./…admin…/…del…
- inurl:/.asp<id=<% <%< %
这些暴库的语法除了几个特殊的之外,几乎没有能使用的了,所以也没有什么图片可以贴了,可见各个企业对网络安全的重视程度较前两年大幅增加,在这里写下这些东西的目的算作科普吧,或对前辈们的敬仰吧,同时也可以看出web安全的红队发展方向也在飞速的变化着,以往的传统手段继续更替,红队人员也需时刻保持学习的前沿性。
5.任意文件下载漏洞:
(1)漏洞成因:
造成这种漏洞的原因就是,攻击者对下载时为文件路径的参数可控造成的,当然代码编写人员,网站运维人员的失职或许才是罪魁祸首。
https://q.xxxx.xxx.com/newpdf/202039257202.pdf
在这里我们找到了一个案例:
当然这里我们并没有找到敏感信息。
http://ip.cccc.edu.cn/down.asp?fileup=shida/UploadFiles/indentAttFile/2012061222041778.doc
http://www.sdddddy.cn/ggjs/news/down.asp?FileName=doc/2012-5/2012053010329973.doc
这两条语句也是通过修改fileup里传的参数进行的任意文件下载
- 通过蜘蛛爬行,找到相应的url,使用burpsuite爬虫就可以了
- 下载 conn.asp config.php config.asp db.mdb
5.网站后台密码爆破
为了管理员方便管理网站,cms系统通常有管理员后台管理接口,该接口需要出示管理员账号密码,正确验证后方可登录。
- 网站常见的cms管理系统有:
- 织梦、discuz、帝国、phpweb、WordPress、aspcms、科讯、南方、良精、ecshop等
- 这些cms的管理后台有:
- dede、admin.php、e/admin、admin.php、wp-admin、admin
manager、login_admin、login_manage、login.asp
- dede、admin.php、e/admin、admin.php、wp-admin、admin
(1)弱口令猜解
管理员为了省事,可能会忽略掉网站后台密码的安全性,一般可能会设置一些初始密码或者弱口令。
- 常见初始密码弱口令:
- Admin、admin888、admin123、123456、111/123/111111、等等。
- 逻辑万能密钥:
- ‘or’=’or’
- Admin’ or 1=1–
(2)破解工具
- Burpsuite
- Discuz破解器
- 一些python密码破解脚本
- httpfuzzer,这款工具可以破解部分有验证码的网站。
6.网站漏洞EXP利用
EXP是exploit(漏洞利用)的缩写,当我们cms出现漏洞的时候针对漏洞原理可以写出针对该漏洞的exploit,有的exp可以直接添加管理员、或者getshell、爆出管理员账号密码、数据库账号密码等等。
(1)EXP利用
主流网站漏洞基本上都有漏洞和exp。
例如:织梦、phpcms、strus2、Phpweb等等
(2)EXP收集
- 可以百度收集
- 可以与朋友交流探讨
- 可以利用工具直接exp
在这里不对EXP做更加详细的介绍,等到后渗透阶段,再加以讲解。
7.批量检测站点:
通常用于某一类型漏洞站点的安全检测
- 批量拿站关键字 :
- 有限公司–Powered by ASPCMS V2.0
- Powered by AspCms2
- Powered by AspCms2.0
- AspCms2.0
- Powere
- admin_shopxp/upLoad_bm.asp
- inurl:newgoods.asp?action_key_order=news
- inurl:/class/?1.html
- inurl:class/index.php?catid=0
- inurl:/page/html/?1.html
- inurl:news/html/?411.html(推荐)
- 默认后台地址:/admin.php
- 注入地址:
- down/class/index.php?myord=1
- news/class/index.php?showtag=
- 万能密码 admin 'or ‘1’='1
- 织梦批量
搜索关键字:- Powered by DedeCMS_V57_UTF8_SP1 2004-2011 DesDev Inc
- inurl:shopxp_news.asp
- TEXTBOX2.ASPaction=modify&news%69d=122%20and%201=2%20union%20select%201,2,admin%2bpassword,4,5,6,7%20from%20shopxp_admin
利用方法:将关键字放到url采集器中,查找有相应特征的关键网站即可
url采集器的工具可以百度一下,很容易查找,也可以使用python写一个脚本,并不是很难。
最后贴一个url采集过程中的图片:
总结
以上就是我学习时的笔记了,笔记参考了Cracer培训流传出的的ppt内容