NIkto


title: Nikto
date: 2016-07-3 20:13
tags: Kali渗透测试 Web渗透测试


Dvwa

Dvwa是metasplotiable中的一个应用网站,该应用网站集成了大量的网站漏洞,值得我们探索和研究。

首先我们获得metasploitable的ip地址:192.168.86.130
Kali的ip地址:192.168.86.134

然后访问Metasplotiabel的ip地址,进入Dvwa应用网站,选择DVWA Security的安全等级选择为low


0x01

基于之前的渗透方法,现在要更进一步的减少与目标主机的交互。Htttrack可以将目标网站克隆下来,以实现离线分析目标网站。


0x02 手动扫描

除了使用扫描工具之外,还可以人为的去观察目标网站,作为一个客户去访问该网站显示存在的漏洞,但是纯手动的扫描一般只能看到网站开发者能让你看到的页面,这时便可以使用扫描工具来提高手动扫描的效率,去发现一些鲜为人知的页面。


0x03 NIKTO

Nikto是一个用来发现默认网页文件、检查网页服务器和CGI安全问题的工具,它是开源的,使用Perl开发,可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件CGIs;超过625种服务器版本;超过230种特定服务器问题;以及一些WEB Application层面的漏洞它也会去扫描。

Nikto的作者是Chris Sullo,他是开放安全基金会(Open Security Foundation) 的财务总监。


避免404误判

很多服务器不遵守RFC标准,比如对于不存在的对象返回200相应代码。那么当扫描器遇到这种情况下便会产生误判。

扫描器是如何尝试解决的?
Nikto的解决方发是:在开始扫描以前,在每条命令执行之前,会在自己的数据库中将web中常见文件的扩展名提取出来,随机使用一些文件名拼接这些扩展名(这些随机的文件名+扩展名的文件对于目标服务器来说通常是不存在的)让后再向目标服务器发起请求。然后根据不同扩展名返回的信息,进行HASH摘要,以此得到该文件不存在时得到的响应信息。然后Nikto再开始真正的扫描发起。

如果这些还是不能得到404响应的真实性,那么最新版本的Nikto还会将得到的响应内容去除时间信息后取得MD5值进行hash校验。

同时也可以使用参数-non404,去掉前期判断,但是这种提高性能而舍弃准确率的做法,并不建议。


Nickto的使用

首先升级Nikto:

$: nikto -update

但是由于伟大的墙的存在,不一定能更新成功,此时可以访问到Nikto官网下载安装包:http://cirt.net/nikto/UPDATES.


nikto host 扫描

root@kali:~# nikto -host 192.168.86.130 -port 80
nikto 进行ssl扫描
root@kali:~# nikto -host www.baidu.com -port 443 -ssl 
-ouput 将扫描结果输出保存
对host列表进行批量扫描
$: nikto host -host.txt

-host.txt 的文本格式如下:

---host.txt---
192.168.0.1:80
https://192.168.1.1:8333
192.168.0.2
nmap与nikto
$: nmap -p80 192.168.1.4/24 -oG - | nikto -host -

将nmap获得的ip地址结果作为输出通过管道传送给nikto

nikto代理

同样nikto可以通过代理扫描:

$: nikto -host https://www.baidu.com -useproxy htpp://localhost:1080
-vhost

当一个网站存在多个端口时可以使用-vhost遍历所有网站进行扫描


nikto的配置文件

有些网站需要登录以后才可以进行扫描,此时可以设置nikto的配置文件手动将cookie添加到nikto的中。nikto的配置文件是

$: vi /etc/nikto.conf

#########################################################################################################
# CONFIG STUFF
# $Id: config.txt 94 2009-01-21 22:47:25Z deity $
#########################################################################################################

# default command line options, can't be an option that requires a value.  used for ALL runs.
# CLIOPTS=-g -a

# ports never to scan
SKIPPORTS=21 111

# User-Agent variables:
 # @VERSION     - Nikto version
 # @TESTID  - Test identifier
 # @EVASIONS    - List of active evasions
USERAGENT=Mozilla/5.00 (Nikto/@VERSION) (Evasions:@EVASIONS) (Test:@TESTID)

# RFI URL. This remote file should return a phpinfo call, for example: <?php phpinfo(); ?>
# You may use the one below, if you like.
RFIURL=http://cirt.net/rfiinc.txt?

# IDs never to alert on (Note: this only works for IDs loaded from db_tests)
#SKIPIDS=

# The DTD
NIKTODTD=/var/lib/nikto/docs/nikto.dtd

# the default HTTP version to try... can/will be changed as necessary
DEFAULTHTTPVER=1.0

# Nikto can submit updated version strings to CIRT.net. It won't do this w/o permission. You should
# send updates because it makes the data better for everyone ;)  *NO* server specific information
# such as IP or name is sent, just the relevant version information.
# UPDATES=yes   - ask before each submission if it should send
# UPDATES=no    - don't ask, don't send
# UPDATES=auto  - automatically attempt submission *without prompting*
UPDATES=yes

# Warning if MAX_WARN OK or MOVED responses are retrieved
MAX_WARN=20

# Prompt... if set to 'no' you'll never be asked for anything. Good for automation.
#PROMPTS=no

# cirt.net : set the IP so that updates can work without name resolution -- just in case
CIRT=107.170.99.251

# Proxy settings -- still must be enabled by -useproxy
#PROXYHOST=127.0.0.1
#PROXYPORT=8080
#PROXYUSER=proxyuserid
#PROXYPASS=proxypassword

# Cookies: send cookies with all requests
# Multiple can be set by separating with a semi-colon, e.g.:
# "cookie1"="cookie value";"cookie2"="cookie val" 
#STATIC-COOKIE=

# The below allows you to vary which HTTP methods are used to check whether an HTTP(s) server 
# is running. Some web servers, such as the autopsy web server do not implement the HEAD method
CHECKMETHODS=HEAD GET

# If you want to specify the location of any of the files, specify them here
EXECDIR=/var/lib/nikto              # Location of Nikto
PLUGINDIR=/var/lib/nikto/plugins            # Location of plugin dir
DBDIR=/var/lib//nikto/databases         # Location of database dir
TEMPLATEDIR=/var/lib/nikto/templates        # Location of template dir
DOCDIR=/var/lib/nikto/docs          # Location of docs dir

# Default plugin macros
@@MUTATE=dictionary;subdomain
@@DEFAULT=@@ALL;-@@MUTATE;tests(report:500)

# Choose SSL libs: 
# SSLeay        - use Net::SSLeay 
# SSL           - use Net::SSL 
# auto          - automatically choose whats available 
#                 (SSLeay wins if both are available) 
LW_SSL_ENGINE=auto

# Number of failures before giving up
FAILURES=20
  • User-Agent:\ 默认的是firefox浏览器。此外还可以下载firefox的User-Agent插件,比如基于freifox浏览器的User-Agent Switcher可以进行移动端,PC端,以及操作系统的组合伪装。
# User-Agent variables:
 # @VERSION     - Nikto version
 # @TESTID  - Test identifier
 # @EVASIONS    - List of active evasions
USERAGENT=Mozilla/5.00 (Nikto/@VERSION) (Evasions:@EVASIONS) (Test:@TESTID)
  • RFI URL:用于验证远程文件的正确性

  • Proxy settings:代理设置

# Proxy settings -- still must be enabled by -useproxy
PROXYHOST=127.0.0.1
PROXYPORT=1080
#PROXYUSER=proxyuserid
#PROXYPASS=proxypassword
  • cookies设置
    将已经登录网站的cookies存放再nikto.conf中,便可以登陆该网站了。
    随便打开一个网站,对该网站启用Firebug,并启用cookies功能,登录该网站,分析cookies信息,比如百度,分析firebug的cookies项可以看到过期时间(Expires),将过期时间下对应的有会话(Session)字段的项中的名称(Name)和内容(Value)copy,添加到
    /etc/nikto.conf中
# Cookies: send cookies with all requests
# Multiple can be set by separating with a semi-colon, e.g.:
"HBDRCVFR[Fc9oatPmwxn]="12345678";"BD_CK_SAM"="cookie val" ;"BD_HOME"="cookie val";"H_PS_PSSID"="cookie val";....
""
#STATIC-COOKIE=

-evasion IDS躲避技术

IDS(instruion Detection System) 入侵检测系统

IDS可以被定义为对计算机和网络资源的恶意使用行为进行识别和相应处理的系统,包括系统外部的入侵和内部用户的非授权行为,是为保证计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。

所以当一个目标中存在IDS技术时可以使用参数-evasion来逃避,nikto的逃避方式一共有八种,可以同时指定多种:

  • 随机URL编码(非utf-8)
  • 自选择路径
  • 过早结束的URL
  • 优先考虑长随机字符串
  • 参数欺骗
  • 使用TAB作为命令的分隔符
  • 使用变化的URL
  • 使用Windows路径分隔符

比如:

$: nikto -host http://192.168.1.34/dvwa/ -evasion 167
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,656评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,116评论 25 707
  • 实验环境:metasploit2中的DVWA 收集工具: Httrack: web服务器信息收集工具,可以浏览并下...
    cybeyond阅读 1,068评论 0 1
  • Nikto是很多测试人员必备的一个自动扫描工具,正如他们家官网上说的那样(https://cirt.net/Nik...
    半个王国阅读 3,178评论 1 0
  • 世间事 无论多有趣的开始 都得承担一段无趣的过程 有的人快乐 因为能把这个过程的无趣 用自己能想到的有趣来消解 从...
    吃货不孤独阅读 207评论 0 0