Kali Linux下信息搜集工具(命令)使用总结

Kali Linux下信息搜集工具(命令)使用总结,第1张

WHOIS是一个标准的互联网协议,可用于搜集网络注册、注册域名、IP地址和自治系统的信息

例:whois baiducom

更多参数参考帮助文档:whois --help

向DNS服务器查询主机的ip地址,默认使用/etc/resolvconf里的DNS服务器;也可在指令尾部直接添加DNS服务器

默认情况下host指令会搜索域名的A记录、AAAA记录和MX记录,如需查询全部DNS记录,可使用选项-a

例:

host还可进行域传输,使用-l选项

进行DNS查询,仅返回该域的A记录,如需查询全部记录,可以将type设置为any

例:

该程序将收集的DNS信息分为:主机ip地址、该域的DNS服务器、该域的MX记录

例:dnsenum baiducom

功能很强大,除上之外:

它能通过谷歌搜索其他的域名和子域名

可使用字典对子域名进行爆破,kali里收录了dnsenum自带的字典文件(dnstxt),该字典可以测试1480个子域名;另外嗨哟一个dns-bigtxt字典,可以测试266930个子域名

可对C类网段进行whois查询并计算其网络范围

可对网段进行反向查询

采用多线程技术,可进行并发查询

参数解释-f dnstxt 指定字典文件,可以换成 dns-bigtxt 也可以自定义字典-dnsserver 8888 指定dns服务器,一般可以直接使用目标dns服务器,(PS:8888 是一个IP地址,是Google提供的免费dns服务器的IP地址,另一个是:8844)-o outputtxt 结果在 outputtxt文档里

例:dnsenum -f dnstxt baiducom

DNS枚举工具,可通过多项技术查找目标的ip地址和主机名,他会通过本机使用的DNS服务器查找使用个目标域的DNS服务器;也可以进行暴力破解子域名

特点是能针对不连续的ip空间和主机名称进行测试

该工具也是个神器,详细用法参考帮助

例:查找学校域名的有关信息

DMitry(Deepmagic Information Gathering Tool)是一个一体化的信息收集工具。它可以用来收集以下信息:

参数:

例:

网络路由信息可以帮助测试人员了解自己的主机到目标主机之间的网络通信路径,进而理解目标主机的网络情况,保护目标主机的防火墙信息,往往也暗藏在路由信息里

1、tcptraceroute

tcptraceroute是traceroute的补充,传统的traceroute程序在其发送的UDP或ICMP echo数据包中,设置有特定的TTL标志位。它把TTL值从1开始递增,直到数据包到达目标主机为止,而tcptraceroute则是使用tcp数据包进行测试,它利用TCP SYN(握手请求)数据包进行路由信息探测;

其有较高的通过率

常用选项

-i 指定接口,网络接口

-f 起初第几跳开始,比如5,开始显示第5跳的结果

-l traceroute包的长度

-q 查询的数字号

-t tos

-m 最大的TTL

-s 源地址,如果服务器有两块网卡,就可以采用指定-s的源地址路由,在所有的tracert/traceroute都 有这样的基本功能

-w等待的时间

示例1:通过traceroute和tcptraceroute进行对比:

可以直接看到结果的差别,也可以使用nslookup验证一下:

tcptraceroute最终到达了目的地,而traceroute 没有到达目的地。

2、tctrace

通过向目标主机发送TCP SYN数据包来获取相关信息

使用命令:tctrace -i<device> -d<targethost>

<device>指网卡接口,<targethost>指被测试的目标主机

例:tctrace -i eth0 -d wwwbaiducom

8、dnsdict6

枚举ipv6的子域名,自带的字典可测试798个子域名,参数和使用可以参考帮助

本文由 mdnice 多平台发布

主要是访问日志:

可以针对ip、攻击方式进行初步判断,分析访问文件以确定web内可能被入侵的入口,并针对不同的攻击方式采取相应的防御策略,如果有较高技术水平还可以试着分析攻击来源采取一定的反制措施。

服务器变量 $_SERVER 详解:

1、$_SESSION['PHP_SELF'] — 获取当前正在执行脚本的文件名

2、$_SERVER['SERVER_PROTOCOL'] — 请求页面时通信协议的名称和版本。例如,“HTTP/10”。

3、$_SERVER['REQUEST_TIME'] — 请求开始时的时间戳。从 PHP 510 起有效。和time函数效果一样。

4、$_SERVER['argv'] — 传递给该脚本的参数。我试了下,get方法可以得到$_SERVER['argv'][0];post方法无法给他赋值。

5、$_SERVER['SERVER_NAME'] — 返回当前主机名。

6、$_SERVER['SERVER_SOFTWARE'] — 服务器标识的字串,在响应请求时的头信息中给出。 如Microsoft-IIS/60

7、$_SERVER['REQUEST_METHOD'] — 访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

8、$_SERVER['QUERY_STRING'] — 查询(query)的字符串(URL 中第一个问号 之后的内容)。

9、$_SERVER['DOCUMENT_ROOT'] — 当前运行脚本所在的文档根目录。在服务器配置文件中定义。 如E:\server

10、$_SERVER['HTTP_ACCEPT'] — 当前请求的 Accept: 头信息的内容。

11、$_SERVER['HTTP_ACCEPT_CHARSET'] — 当前请求的 Accept-Charset: 头信息的内容。例如:“iso-8859-1,,utf-8”。

12、$_SERVER['HTTP_ACCEPT_ENCODING'] — 当前请求的 Accept-Encoding: 头信息的内容。例如:“gzip”。

13、$_SERVER['HTTP_ACCEPT_LANGUAGE'] — 当前请求的 Accept-Language: 头信息的内容。例如:“en”。

14、$_SERVER['HTTP_CONNECTION'] — 当前请求的 Connection: 头信息的内容。例如:“Keep-Alive”。

15、$_SERVER['HTTP_HOST'] — 当前请求的 Host: 头信息的内容。

16、$_SERVER['HTTP_REFERER'] — 链接到当前页面的前一页面的 URL 地址。

17、$_SERVER['HTTP_USER_AGENT'] — 返回用户使用的浏览器信息。也可以使用 get_browser() 得到此信息。

18、$_SERVER['HTTPS'] — 如果通过https访问,则被设为一个非空的值,否则返回off

19、$_SERVER['REMOTE_ADDR'] — 正在浏览当前页面用户的 IP 地址。

20、$_SERVER['REMOTE_HOST'] — 正在浏览当前页面用户的主机名。反向域名解析基于该用户的 REMOTE_ADDR。如本地测试返回127001

21、$_SERVER['REMOTE_PORT'] — 用户连接到服务器时所使用的端口。我在本机测试没通过,不知道什么原因。

22、$_SERVER['SCRIPT_FILENAME'] — 当前执行脚本的绝对路径名。如返回E:\server\indexphp

23、$_SERVER['SERVER_ADMIN'] — 该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值

24、$_SERVER['SERVER_PORT'] — 服务器所使用的端口。默认为“80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。

25、$_SERVER['SERVER_SIGNATURE'] — 包含服务器版本和虚拟主机名的字符串。

26、$_SERVER['PATH_TRANSLATED'] — 当前脚本所在文件系统(不是文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。 Apache 2 用 户可以使用 httpdconf 中的 AcceptPathInfo On 来定义 PATH_INFO。

27、$_SERVER['SCRIPT_NAME'] — 包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 包含当前文件的绝对路径和文件名(例如包含文件)。

28、$_SERVER['REQUEST_URI'] — 访问此页面所需的 URI。例如,“/indexhtml”。

29、$_SERVER['PHP_AUTH_DIGEST'] — 当作为 Apache 模块运行时,进行 HTTP Digest 认证的过程中,此变量被设置成客户端发送的“Authorization”HTTP 头内容(以便作进一步的认证操作)。

30、$_SERVER['PHP_AUTH_USER']– 当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。

31、$_SERVER['PHP_AUTH_PW'] — 当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。

32、$_SERVER['AUTH_TYPE']–当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。

1 写出域名、ip敏感信息收集方法

详细方法见: https://wwwjianshucom/p/2499f63794e8

1) 域名探测方法

2)子域名的收集方法:

3)敏感信息收集的方法

2 写出指纹识别、waf、cdn识别方法

指纹识别:

PS:指纹识别:其核心原理是通过正则表达式匹配特征码或匹配文件的md5值等特殊信息,进而识别web应用程序的名称和版本,收集信息。

常见指纹检测的对象

1、CMS信息:比如大汉CMS、织梦、帝国CMS、phpcms、ecshop等;

2、前端技术:比如HTML5、jquery、bootstrap、pure、ace等;

3、Web服务器:比如Apache、lighttpd, Nginx, IIS等;

4、应用服务器:比如Tomcat、Jboss、weblogic、websphere等;

5、开发语言:比如PHP、Java、Ruby、Python、C#等;

6、操作系统信息:比如linux、win2k8、win7、kali、centos等;

7、CDN信息:是否使用CDN,如cloudflare、360cdn、365cyd、yunjiasu等;

8、WAF信息:是否使用waf,如Topsec、Jiasule、Yundun等;

9、IP及域名信息:IP和域名注册信息、服务商信息等;

10、端口信息:有些软件或平台还会探测服务器开放的常见端口。

[1]、在线识纹识别:

http://whatwebbugscanercom/look/

http://wwwyunseecn/fingerhtml

[2]工具识别

御剑Web指纹识别、

waf(web安全防护系统): githubcom/EnableSecurity/wafw00f

在kali安装waf脚本:

切换到安装目录下使用命令python37 setuppy install

使用命令:python37 mainpy 网址;

3、CDN识别

cdn是内容分发网络。主要是实现负载均衡。实质是一组在不同运营商之间的对接节点的高速缓存服务器。

理解:把用户经常访问的静态数据资源如html,css直接缓存在cdn服务器上,当用户再次请求时,直接分发在离用户近的节点服务器上响应给用户,当用户有实际的数据交互时,才会从远程web服务器上相应。

https://rawgithubusercontentcom/3xp10it/mytools/master/xcdnpy

cdn绕过真实ip

步骤1:判断目标是否使用cdn

方法一:使用网站ping域名。返回多个ip使用cdn

https://www17cecom/

方法二:使用nslookup 域名,查看返回的ip地址,返回多个使用cdn

步骤二:绕过cdn寻找真实ip

(1)扫描子域名寻找真实ip

可能存在主域名使用cdn加速,子域名没有使用。

(2) 国外网站多地ping https://asmcacom/

存在国内使用cdn,国外没有使用,可以通过国外多地请求寻找ip规律

(3)查询历史域名解析记录

可能存在历史域名没有使用cdn,从而可以找到真实ip

使用网站: https://xthreatbookcn/ (国内)

https://wwwnetcraftcom/( 国外)

3写出渗透测试信息收集详细流程

域名探测---子域名探测----敏感信息收集----指纹识别,waf,cd识别------资产梳理

-e 指定网站语言

-w 可以加上自己的字典(带上路径)

-r 递归跑(查到一个目录后,在目录后在重复跑,很慢,不建议用)

--random-agents 使用代理(使用的代理目录在uesr-agentstxt中,可以自己添加)

获取系统类型及版本号: php_uname() (例:Windows NT COMPUTER 51 build 2600)

只获取系统类型: php_uname('s') (或:PHP_OS,例:Windows NT)

只获取系统版本号: php_uname('r') (例:51)

获取PHP运行方式: php_sapi_name() (PHP run mode:apache2handler)

获取前进程用户名: Get_Current_User()

获取PHP版本: PHP_VERSION

获取Zend版本: Zend_Version()

获取PHP安装路径: DEFAULT_INCLUDE_PATH

获取当前文件绝对路径: __FILE__

获取Http请求中Host值: $_SERVER["HTTP_HOST"] (返回值为域名或IP)

获取服务器IP: GetHostByName($_SERVER['SERVER_NAME'])

接受请求的服务器IP: $_SERVER["SERVER_ADDR"] (有时候获取不到,推荐用:GetHostByName($_SERVER['SERVER_NAME']))

获取客户端IP: $_SERVER['REMOTE_ADDR']

获取服务器解译引擎: $_SERVER['SERVER_SOFTWARE']

获取服务器CPU数量: $_SERVER['PROCESSOR_IDENTIFIER']

获取服务器系统目录: $_SERVER['SystemRoot']

获取服务器域名: $_SERVER['SERVER_NAME'] (建议使用:$_SERVER["HTTP_HOST"])

获取用户域名: $_SERVER['USERDOMAIN']

获取服务器语言: $_SERVER['HTTP_ACCEPT_LANGUAGE']

获取服务器Web端口: $_SERVER['SERVER_PORT']

访问用户的浏览器信息: $_SERVER['HTTP_USER_AGENT'];

<script language="JavaScript">

documentwrite("浏览器名称: "+navigatorappName+"<br>");

documentwrite("浏览器版本号: "+navigatorappVersion+"<br>");

documentwrite("系统语言: "+navigatorsystemLanguage+"<br>");

documentwrite("系统平台: "+navigatorplatform+"<br>");

documentwrite("浏览器是否支持cookie: "+navigatorcookieEnabled+"<br>");

</script>

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Kali Linux下信息搜集工具(命令)使用总结

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情