More notes.
parent
2ef7fa4f31
commit
809c823528
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import socket
|
||||
import struct
|
||||
|
||||
rawSocket = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, socket.htons(0x0800))
|
||||
|
||||
#rawSocket.bind(("eth0", socket.htons(0x0800)))
|
||||
rawSocket.bind(("enp0s31f6", socket.htons(0x0800)))
|
||||
|
||||
# layer 2 message, then data
|
||||
# src mac / dst mac / eth type
|
||||
inet_header = struct.pack("!6s6s2s", '\xaa\xaa\xaa\xaa\xaa\xaa', '\xbb\xbb\xbb\xbb\xbb\xbb','\x08\x00') # 14 bytes
|
||||
|
||||
print len(inet_header)
|
||||
|
||||
rawSocket.send(inet_header + "Anything")
|
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#import scapy
|
||||
from scapy.all import sniff
|
||||
|
||||
# from intractive mode: conf, ls(), ls(IP)
|
||||
# note" conf.route.add(host="192.168.2.4", gw="192.168.2.5") / conf.route.resync() / etc...
|
||||
|
||||
pkts = sniff(iface="enp0s31f6", count=5)
|
||||
|
||||
print pkts[0]
|
||||
print pkts[0].show
|
||||
|
||||
print hexdump(pkts[1])
|
||||
|
||||
# wrpcap("test.pcap", pkts) # write the packets into pcap file
|
||||
# read_pkts = rdpcap("test.pcap") # read pcap
|
||||
# read_pkts[0] # print pcap
|
||||
|
||||
pkts_filtered = sniff(iface="enp0s31f6", filter="icmp", count=5) # BPS filters
|
||||
print pkts_filtered[1]
|
||||
|
||||
pks_live = sniff(iface="enp0s31f6", filter="icmp", count=2, prn=lambda x: x.summary())
|
||||
|
||||
|
||||
# icmp_str = str(pkts[1])
|
||||
# recon = Ether(icmp_str)
|
||||
# print recon # this is more for fun / converting pkts to str and back using Ether
|
||||
|
||||
# newPkt = export_object(icmp_str) # packet into base64
|
||||
# import_object(newPkt) # packet from base64
|
||||
# Ether(newPkt) # and so on... :)
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#import scapy
|
||||
from scapy.all import Ether, IP, ICMP, TCP, sr, sr1
|
||||
|
||||
pkt = IP(dst="gentoo.org") # Simple packet creation
|
||||
#print pkt.show()
|
||||
|
||||
pkt = IP(dst="gentoo.org")/ICMP()/"Not-Vivek was here" # ICMP packet creation with message
|
||||
|
||||
sr1(pkt)
|
||||
|
||||
|
||||
|
||||
# More tricks / tips
|
||||
|
||||
# sendp(Ether()/IP(dst="gentoo.org")/ICMP()/"any", iface="enp0s31f6", loop=1, inter=1) # Sending on layer 2 level, plus loop, but be carefule with that : ) + this is interactive command!
|
||||
|
||||
|
||||
# Layer 3 send and receive: sr() sr1()
|
||||
# Layer 2 send and receive: srp() srp1()
|
||||
|
||||
#srp1(Ether()/IP(dst="gentoo.org", ttl=22)/ICMP/"any")
|
||||
|
||||
#sr(IP(dst="gentoo.org", ttl=22)/ICMP()/"any")
|
||||
#response, no_response = _
|
||||
#print response[0] # print answer
|
||||
|
||||
|
||||
#r1(IP(dst="gentoo.org"), timeout=4)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
# GET with requests, then parse with BeautifulSoup
|
||||
r = requests.get("https://gentoo.org/")
|
||||
print r.content
|
||||
bt = BeautifulSoup(r.content, "lxml") # It's recommended to use LXML, not the default html parser.
|
||||
print bt.title
|
||||
print bt.title.string
|
||||
|
||||
|
||||
# Find all metatags
|
||||
allMetaTags = bt.find_all('meta')
|
||||
print allMetaTags
|
||||
|
||||
|
||||
allMetaTags = bt.find_all('meta')
|
||||
print allMetaTags[2]
|
||||
|
||||
#allMetaTags = bt.find_all('meta')
|
||||
#print allMetaTags[0]['content'] # Works in video, not here. wat?
|
||||
|
||||
|
||||
# Print all links from the site
|
||||
allLinks = bt.find_all('a')
|
||||
print len(allLinks) # How many links do we have?
|
||||
#print allLinks[1]
|
||||
print allLinks[4]['href']
|
||||
#print allLinks[1].string
|
||||
|
||||
|
||||
# Print all text output, could be great for password list generations
|
||||
print bt.get_text()
|
||||
|
||||
|
||||
#Print all links
|
||||
for link in allLinks:
|
||||
print link['href']
|
||||
|
||||
|
||||
# print bt.meta.next.next.next.next.next.next # Don't.
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
# GET with requests, then parse with BeautifulSoup
|
||||
#r = requests.get("https://gentoo.org/")
|
||||
#print r.content
|
||||
|
||||
|
||||
r = requests.get("http://securitytube.net/video/3000")
|
||||
|
||||
bs = BeautifulSoup(r.content, "lxml") # It's recommended to use LXML, not the default html parser.
|
||||
print bs.title
|
||||
|
||||
videoLink = bs.find('iframe', {'title' : 'YouTube video player'})
|
||||
print videoLink
|
||||
print videoLink['src']
|
||||
|
||||
# To Be Continued !
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import mechanize
|
||||
|
||||
br = mechanize.Browser()
|
||||
br.open('https://www.gentoo.org/donate')
|
||||
|
||||
|
||||
# Dump all forms from gentoo.org/donate
|
||||
for form in br.forms():
|
||||
print form
|
||||
|
||||
br.select_form(nr=0) # 0 because of first form - it references to the first form.
|
||||
br.form['amount'] = 'thanks!'
|
||||
|
||||
br.submit() # Done, submitted!
|
||||
# Better idea is to implement it with: https://searx.me/
|
||||
|
||||
|
||||
# Print list of links
|
||||
for link in br.links():
|
||||
print link.url + ' : ' + link.text
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import mechanize
|
||||
|
||||
# Note: mechanize takes care of cookies.
|
||||
|
||||
br=mechanize.Browser()
|
||||
|
||||
br.open('http://student.securitytube.net/login/index.php')
|
||||
|
||||
for form in br.forms():
|
||||
print form
|
||||
|
||||
br.select_form(nr=0)
|
||||
|
||||
br.form['username'] = 'demo-user'
|
||||
br.form['password'] = 'demouser1]M' # It won't work ;)
|
||||
|
||||
br.submit()
|
||||
print br.response().read
|
||||
|
||||
for link in br.links():
|
||||
print link.url + ' + ' + link.text
|
||||
|
||||
# It's different url now, just for example:
|
||||
#new_link = br.click_link(text='moodle[IMG]Change Password')
|
||||
#br.open(new_link)
|
||||
#print br.response().read()
|
||||
|
||||
#for form in br.forms():
|
||||
# print form
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Place this file into PyCommands directory to use with Immunity Debugger.
|
||||
|
||||
import immlib
|
||||
|
||||
DESC = "This will be the Description in ID."
|
||||
|
||||
def main(args):
|
||||
|
||||
imm = immlib.Debugger() # This is what we attach to.
|
||||
|
||||
imm.log("Write that into ID log window!")
|
||||
|
||||
imm.updateLog() # Any pending line will be printed immediately!
|
||||
|
||||
|
||||
td = imm.createTable("Any name", ['PID', 'Name', 'Path', 'Services'])
|
||||
|
||||
psList = imm.ps()
|
||||
for process in psList:
|
||||
td.add(0, [ str(process[0], process[1], process[2], str(process[3]))])
|
||||
|
||||
return "Welcome to ID Scripting."
|
Loading…
Reference in New Issue