您的位置:

渗透测试信息收集

一、信息搜集的基础知识

在进行渗透测试之前,信息搜集是非常必要的。信息搜集可以帮助渗透测试人员更好地了解目标系统,从而更加有效地运用渗透测试技术。

信息搜集通常包含以下几个方面:

1.1 Whois查询

Whois是一种基于TCP/IP协议的应用层通信协议,用于查询域名、IP地址等网络信息,也可以了解目标网络的所有者、管理员等相关信息。常用的whois查询网站有Whois.com、Icann.org等等,以下是一个Python示例:

import whois

# 查询域名whois信息
domain = "example.com"
w = whois.whois(domain)
print(w)

1.2 端口扫描

端口扫描是一种常用的信息搜集方式,在渗透测试中是一种非常重要的手段。端口扫描可以通过扫描目标系统开放的端口,了解目标系统的网络服务情况,进而得到系统的操作系统、版本信息等。比较常用的端口扫描工具有nmap、masscan等。

以下是Python使用nmap进行端口扫描的代码示例:

import nmap

# 创建nmap扫描对象
nm = nmap.PortScanner()

# 进行端口扫描
nm.scan(hosts="target_ip", arguments="-p 1-65535")

# 输出扫描结果
for host in nm.all_hosts():
    print('----------------------------------------------------')
    print('Host : %s (%s)' % (host, nm[host].hostname()))
    print('State : %s' % nm[host].state())
    for proto in nm[host].all_protocols():
        print('----------')
        print('Protocol : %s' % proto)

        lport = list(nm[host][proto].keys())
        lport.sort()
        for port in lport:
            print('port : %s\tstate : %s' % (port, nm[host][proto][port]['state']))

1.3 WEB信息收集

Web信息收集是指针对Web应用进行信息收集,包括网页截取、源码分析、数据包嗅探等。在渗透测试中,Web信息收集主要是针对Web应用的漏洞扫描、目录爆破、信息泄露等。

常用的Web信息收集工具有Burp Suite、ZAP等。以下是使用Python进行Web信息收集的示例:

import requests

# 构造HTTP请求
url = "http://example.com/index.php"
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"}
r = requests.get(url, headers=headers)

# 输出HTTP响应内容
print(r.status_code)
print(r.text)

二、社会工程学信息搜集

社会工程学信息搜集是指通过社会工程学手段,获取目标人员、组织、系统的信息,包括电话号码、电子邮件地址、账号密码、软件漏洞等。

2.1 钓鱼邮件

钓鱼邮件是一种伪装成正常邮件的欺骗攻击方式,通常针对目标人员,通过伪装成信任的邮件发送者欺骗目标人员,诱使其点击附件、链接,或获取目标人员的账号密码等重要信息。以下是Python编写的一封钓鱼邮件:

import smtplib
from email.mime.text import MIMEText

# 构造邮件内容
msg = MIMEText('Hello, I am a phishing email', 'plain', 'utf-8')
msg['From'] = 'phishing@example.com'
msg['To'] = 'target@example.com'

# 配置SMTP服务器
smtp_server = 'smtp.example.com'
smtp_port = 25
smtp_user = 'phishing@examaple.com'
smtp_pass = 'password'

# 发送邮件
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(smtp_user, smtp_pass)
server.sendmail(smtp_user, [msg['To']], msg.as_string())
server.quit()

2.2 电话骚扰

电话骚扰是指通过电话进行的欺骗攻击方式,通常通过伪装成正常用户、客服或官方机构,欺骗目标人员提供个人信用卡信息、银行账号、密码等。以下是Python编写的一个电话骚扰脚本:

import random
import time

from twilio.rest import Client

# Twilio API密钥
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"

# 目标电话号码
to_number = "+1234567890"

# Twilio电话号码
from_number = "+14159873800"

# 构造话术
script = [
    "Hello,妳好",
    "Is this 妳的名字?",
    "This is the VIP customer service department of the Bank of China.",
    "Our records indicate that there has been suspicious activity on your account.",
    "Please press 1 to speak to an account representative, or press 2 to hear more options.",
    "你好,我是中国银行的客服,我们发现您的银行账户出现了异常。请按1转接到客服人员,或按2了解更多细节信息。"
]

# 构造Twilio客户端
client = Client(account_sid, auth_token)

# 发起电话
for voice in script:
    client.calls.create(
        to=to_number,
        from_=from_number,
        url="http://twimlets.com/message?Message%5B0%5D=" + voice,
        method="GET"
    )
    time.sleep(random.randint(1, 5))

三、搜索引擎信息搜集

搜索引擎信息搜集是指通过搜索引擎搜索相关的关键词,了解目标信息的手段。

3.1 Google搜索

Google是最常用的搜索引擎之一,在渗透测试中也可以通过谷歌搜索获得目标信息。以下是Python使用Google Custom Search API进行搜索的示例:

import requests

search_snippet = "hacking"
api_key = "your_api_key"
search_engine_id = "your_search_engine_id"
url = f"https://www.googleapis.com/customsearch/v1?key={api_key}&cx={search_engine_id}&q={search_snippet}"

r = requests.get(url)
print(r.json())

3.2 百度搜索

百度是中国最常用的搜索引擎之一,也可以通过百度搜索进行渗透测试信息搜集。以下是Python使用百度搜索的示例:

import requests
import re

def get_baidu_search_results(keyword):
    url = f"http://www.baidu.com/s?wd={keyword}&rsv_spt={2}&rsv_iqid={0xcda67603001dce87}&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baidu&inputT=0&oq=%25E5%25A3%25B3%25E5%259F%259F&bs=%E5%A3%BD%E5%9F%9F&rsv_pq=cda67603001dce87&rqlang=cn&rsv_t"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"}
    r = requests.get(url, headers=headers)
    r.encoding = 'utf-8'
    pattern = re.compile('(.*?)', re.S)
    results = pattern.findall(r.text)
    return results

  

四、结语

信息搜集是渗透测试中非常必要的一步,它可以帮助我们更好地了解目标系统,从而更加有效地运用渗透测试技术。在进行渗透测试时,我们需要不断学习新的信息搜集技术,多方面进行信息收集,提高信息收集的效率与准确性。

渗透测试信息收集

2023-05-17
渗透测试信息收集

2023-05-21
渗透测试js调试,网站渗透测试实战入门

2022-11-25
Kali Linux:渗透测试人员必备的工具

2023-05-24
渗透测试工具详解

2023-05-20
python逆向防渗透工具,逆向渗透测试

2022-11-21
内网渗透思路详解

2023-05-17
Kali渗透全面分析

2023-05-17
Intensescan:提高渗透测试效率的利器

2023-05-20
sqlmappost——最强大的渗透测试工具

2023-05-20
利用js代码渗透(利用js代码渗透程序)

本文目录一览: 1、网页经常被插入js代码,有什么方法可以解决的.. 2、js如何使用框架代码 3、网站被人挂的JS木马,怎么办? 4、什么是js注入? 5、渗透测试应该怎么做呢? 网页经常被插入js

2023-12-08
内网渗透流程详解

2023-05-16
dockerkali:让安全渗透测试更加便捷

2023-05-22
Vulhub靶场:渗透测试练手好去处

2023-05-17
使用Metasploit渗透测试工具

2023-05-18
php学习入门笔记,php 入门

2023-01-07
KaliDocker:具备全栈能力的渗透测试容器

2023-05-16
java学习笔记(java初学笔记)

2022-11-14
jspcms(jspcms靶场渗透测试)

本文目录一览: 1、jeecms 参数传递 2、南京森林警察学院怎么样 3、南京森林警察学院的视力有复检吗? 4、jsp的CMS系统中,栏目模板和内容模板的区别?同一个页面,怎么区别栏目模板和内容模板

2023-12-08
数据库的笔记mysql,数据库管理系统笔记

2022-11-24