渗透测试之踩点篇

网络踩点犹如躲在暗处的狙击手,只观察情况而不进行射击,有

踩点的以下途径:

1:通过搜索引擎进行信息收集

1.1google Hacking技术

搜索工具.

1SiteDigger

2Search Diggity (此款软件还支持对源代码、恶意软件等进行分析)

 

1.2:探索网站的目录结构

1:常见的后台管理目录:adminlogincms

通过google来搜索:Parent directory site:域名

注意:

扩展名为inc的文件,可能包含网站的控制信息,如数据库用户名/口令等.

扩展名为bak的文件,通常是一些文本编辑器在编辑源代码后留下的备份文件,可以让你知道语气对应的程序脚本文件中的大致内容.

扩展名为txtSQL的文件,一般包含网站运行的SQL脚本,可能会透露类似数据库结构等信息.

robots.txt文件也是关注的对象.

 

还可以借助Metasploit中的Brute_dirsdir_lstingdir_scanner等辅助模块来完成.

dir_scanner为例:

use auxiliary/scanner/http/dir_scanner

set THREADS 50

set RHOSTS www.testfire.net           //这里选择目标网站.

exploit

 

1.3google搜索技巧

检索特定文件:site:网站 type:文件类型

例如:黑客培训site:wenku.baidu.com filetype:PDF

 

1.4:搜索网站中的E-mail地址

输入search_email_collector模块要求提供的邮件后缀(域名)即可.

还是以testfire网站为例:

use auxiliary/gather/search_email_collector

set DOMAIN altoromutaual.com               //设置域名

run

 

2Nmap扫描命令

1nmap -sn 10.10.10.0/24     //扫描整个C段的所有活跃主机,但不扫描端口和系统.

2nmap -Pn 10.10.10.0/24     //扫描Internet环境.

3nmap -sS 192.168.1.1       //TCP SYN ScansS)这种扫描不需要通过完整的握手,就能获得远程主机的信息,优势是不会留下任何日志记录.

4nmap -PU -sn 10.10.10.0/24 //Internet环境,PU选项通过对开放的UDP端口进行探测以确定存活的主机,Nmap在进行UDP主机探测时,默认会列出开放的TCP端口,为了加快扫描,可以使用-sn告诉Nmap不对开放的TCP端口进行扫描.

5nmap -O 10.10.10.254     //对目标IP的操作系统进行扫描;注意O是大写.

6nmap -sV 10.10.10.254     //对目标开启的服务版本进行识别,可以配合nmap -O使用,以便更准确的判断操作系统.

7nmap -A 10.10.10.254     //获取更详细的服务和操作系统信息.

3:网络查点.

Telnet网络查点:

msf > use auxiliary/scanner/telnet/telnet_version

msf auxiliary(telnet_version) > set RHOSTS 10.10.10.0/24

RHOSTS => 10.10.10.0/24

msf auxiliary(telnet_version) > set THREADS 100

THREADS => 100

msf auxiliary(telnet_version) > run

 

[*] Scanned 026 of 256 hosts (010% complete)

[*] Scanned 058 of 256 hosts (022% complete)

[*] Scanned 101 of 256 hosts (039% complete)

[*] Scanned 104 of 256 hosts (040% complete)

[*] Scanned 135 of 256 hosts (052% complete)

[*] 10.10.10.140:23 TELNET Welcome to Microsoft Telnet Service \x0a\x0a\x0dlogin:

 

 

SSH网络查点:

msf> use auxiliary/scanner/ssh/ssh_login               

msf auxiliary(ssh_login) > set RHOSTS 10.10.10.0/24

RHOSTS => 10.10.10.0/24

msf auxiliary(ssh_login) > set THREADS 100

THREADS => 100

msf auxiliary(ssh_login) > run  

[*] 10.10.10.254:22 SSH - Starting bruteforce

[*] Scanned 1 of 1 hosts (100% complete)

[*] Auxiliary module execution completed

 

 

SSH暴力破解:    

msf> use auxiliary/scanner/ssh/ssh_login                        //调用ssh登录辅助模块.

msf auxiliary(ssh_login) > set RHOSTS 10.10.10.140            //设置目标IP地址.    

RHOSTS => 10.10.10.140

msf auxiliary(ssh_login) > set THREADS 100                     //设置线程.

THREADS => 100

msf auxiliary(ssh_login) > set USERNAME administrator            //指定用户名.

USERNAME => administrator

msf auxiliary(ssh_login) > set PASS_FILE /root/Desktop/password.txt      //字典需要自己制作.

PASS_FILE => /root/Desktop/password.txt

msf auxiliary(ssh_login) > run                                        //开始破解.

 

4:漏洞扫描

Nessus漏扫工具.

Nmap漏扫脚本

:使用Nmap扫描ms08_067漏洞.

root@bt:~# nmap -P0 --script=smb-check-vulns 10.10.10.135

Starting Nmap 6.25 ( http://nmap.org ) at 2017-02-13 12:12 EST

Nmap scan report for 10.10.10.135

Host is up (0.00032s latency).

Not shown: 986 closed ports

PORT     STATE SERVICE

21/tcp   open  ftp

80/tcp   open  http

135/tcp  open  msrpc

139/tcp  open  netbios-ssn

445/tcp  open  microsoft-ds

777/tcp  open  multiling-http

1025/tcp open  NFS-or-IIS

1026/tcp open  LSA-or-nterm

1027/tcp open  IIS

1030/tcp open  iad1

6002/tcp open  X11:2

7001/tcp open  afs3-callback

7002/tcp open  afs3-prserver

8099/tcp open  unknown

MAC Address: 00:0C:29:D5:AA:79 (VMware)

Host script results:

| smb-check-vulns:

|   MS08-067: CHECK DISABLED (add '--script-args=unsafe=1' to run)

|   Conficker: Likely CLEAN

|   regsvc DoS: CHECK DISABLED (add '--script-args=unsafe=1' to run)

|   SMBv2 DoS (CVE-2009-3103): CHECK DISABLED (add '--script-args=unsafe=1' to run)

|   MS06-025: CHECK DISABLED (add '--script-args=unsafe=1' to run)

|_  MS07-029: CHECK DISABLED (add '--script-args=unsafe=1' to run)

Nmap done: 1 IP address (1 host up) scanned in 0.23 seconds

 

5:信息数据库与共享.

Metasploit中使用PostgreSQL命令.

1:查看默认安装的PostgreSQL数据库默认管理员的口令.

root@bt:~# cat /opt/metasploit/properties.ini | grep "postgres_root_password"

postgres_root_password=da25dcd8

2:查看数据库的连接状态.

root@bt:~# db_status

db_status: command not found

3:连接数据库.

db_connect 用户名:口令@服务器地址:端口/数据库名称.

msf > db_connect postgres:da25dcd8@localhost:7337/msf4

如果遇到Bug,可以用以下命令创建新数据库,然后再连接.

root@bt:~# /opt/metasploit/postgresql/bin/createdb msf4 -E UTF8 -T template0 -O msf3

Password:

4:查看数据库是否可以用:hosts

msf > hosts

Hosts

=====

address  mac  name  os_name  os_flavor  os_sp  purpose  info  comments

-------  ---  ----  -------  ---------  -----  -------  ----  --------

断开与数据的连接:db_disconnect

4:删除数据库

dropdb msf4

 

Nmap与渗透测试数据库.

将扫描结果导入数据.

db_nmap -Pn -sV 10.10.10.0/24

将扫描结果导出为一个输出文件.

nmap -Pn -sV -oX 文件名 10.10.10.0/24    //文件默认存放在root

将扫描文件导入数据库.

msf > db_import /root/文件名

 

共享渗透测试数据库.

1:先使用netstat查看postgres进程的运行情况.

root@bt:~# netstat -nlp | grep "postgres"

tcp        0      0 127.0.0.1:7337          0.0.0.0:*               LISTEN     

 

2:在POSTGRESQL_START参数后面添加-h 0.0.0.0,Postgresql启动时绑定到所有的IP地址;文件在:/opt/metasploit/postgresql/script/ctl.sh

#!/bin/sh

HOSTNAME=`hostname`

POSTGRESQL_PIDFILE=/opt/metasploit/postgresql/data/postmaster.pid

POSTGRESQL_START="/opt/metasploit/postgresql/bin/postgres -D /opt/metasploit/postgresql/data -p 7337 -h 0.0.0.0"

 

3:打开Postgresql的访问控制文件/opt/metasploit/postgresql/data/pg_hba.conf,在末尾文件添加如下内容.

#IPv4 local connections:

host    all    all    127.0.0.1/32    md5

host    all    all    10.10.10.1/24    md5

 

4:重新启动PostgreSQL服务:

root@bt:~# /opt/metasploit/postgresql/scripts/ctl.sh stop       

/opt/metasploit/postgresql/scripts/ctl.sh : postgresql stopped

root@bt:~# /opt/metasploit/postgresql/scripts/ctl.sh start

LOG:  database system was shut down at 2017-02-13 15:28:58 EST

LOG:  database system is ready to accept connections

LOG:  autovacuum launcher started

/opt/metasploit/postgresql/scripts/ctl.sh : postgresql  started at port 7337

 

5:再次输入netstat命令,查看Postgresql服务运行是否正常.

root@bt:~# netstat -nlp | grep "postgres"

tcp        0      0 0.0.0.0:7337            0.0.0.0:*               LISTEN      3990/postgres.bin

unix  2      [ ACC ]     STREAM     LISTENING     24857    3990/postgres.bin   /opt/metasploit/postgresql/.s.PGSQL.7337

 

6:在另一台计算机上启动MSF终端,输入db_connect命令连接Postgresql.

msf > db_connect postgres:口令@服务器IP:服务端口/账号

 

 

6渗透测试信息搜集总结:

1:确定要攻击而网站后,用whois工具查询网站信息,注册时间,管理员联系方式(电话、邮箱.

2:使用nslookupdig工具进行域名解析已得到IP地址.

3:查询得到的IP地址的所在地.

4:通过google搜集一些敏感信息,如网站目录,网站的特定类型文件.

5:对网站进行端口、操作系统、服务版本的扫描,用nmap -sV -O 便可以实现,更详细的可以用nmap -a.

6:在得到了目标的服务器系统,开放端口及服务版本后,使用Openvas/Nessus进行漏洞挖掘.

7:将搜集到的所有信息进行筛选,得出有用的,认真做好记录.

 


你可能感兴趣的:(渗透相关)