Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/topic/timw/all-the-fuzzing'
Browse files Browse the repository at this point in the history
* origin/topic/timw/all-the-fuzzing:
  Add error and abort if fuzzer requested is not found
  Add a bunch of new fuzzers and corpus data
  • Loading branch information
timwoj committed Jan 5, 2023
2 parents 3b10d0f + bc31e48 commit 873134f
Show file tree
Hide file tree
Showing 25 changed files with 50 additions and 1 deletion.
6 changes: 6 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
5.2.0-dev.453 | 2023-01-05 09:53:47 -0700

* Add error and abort if fuzzer requested is not found (Tim Wojtulewicz, Corelight)

* Add a bunch of new fuzzers and corpus data (Tim Wojtulewicz, Corelight)

5.2.0-dev.450 | 2023-01-05 12:12:13 +0100

* EventRegistry/Func: Disable events when all bodies are disabled (Arne Welzel, Corelight)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5.2.0-dev.450
5.2.0-dev.453
37 changes: 37 additions & 0 deletions src/fuzzers/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,40 @@ add_generic_analyzer_fuzz_target(http)
add_generic_analyzer_fuzz_target(imap)
add_generic_analyzer_fuzz_target(pop3)
add_generic_analyzer_fuzz_target(smtp)

add_generic_analyzer_fuzz_target(dce_rpc)
add_generic_analyzer_fuzz_target(dhcp)
add_generic_analyzer_fuzz_target(dnp3_tcp)
add_generic_analyzer_fuzz_target(irc)
add_generic_analyzer_fuzz_target(modbus)
add_generic_analyzer_fuzz_target(mqtt)
add_generic_analyzer_fuzz_target(mysql)
add_generic_analyzer_fuzz_target(ncp)
add_generic_analyzer_fuzz_target(ntp)
add_generic_analyzer_fuzz_target(radius)
add_generic_analyzer_fuzz_target(rdp)
add_generic_analyzer_fuzz_target(rdpeudp)
add_generic_analyzer_fuzz_target(rfb)
add_generic_analyzer_fuzz_target(mount) #rpc
add_generic_analyzer_fuzz_target(nfs) #rpc
add_generic_analyzer_fuzz_target(portmapper) #rpc
add_generic_analyzer_fuzz_target(sip)
add_generic_analyzer_fuzz_target(smb)
add_generic_analyzer_fuzz_target(snmp)
add_generic_analyzer_fuzz_target(ssh)
add_generic_analyzer_fuzz_target(syslog)

#add_generic_analyzer_fuzz_target(finger) # no pcap files
#add_generic_analyzer_fuzz_target(gssapi) # only samples are embedded in smb
#add_generic_analyzer_fuzz_target(ident) # no pcap files
#add_generic_analyzer_fuzz_target(krb) # should these just be handled by smb?
#add_generic_analyzer_fuzz_target(krb_tcp) # should these just be handled by smb?
#add_generic_analyzer_fuzz_target(rsh) # login - no pcap files
#add_generic_analyzer_fuzz_target(rlogin) # login - no pcap files
#add_generic_analyzer_fuzz_target(telnet) # login - no pcap files
#add_generic_analyzer_fuzz_target(netbios) # no pcap files
#add_generic_analyzer_fuzz_target(ntlm) # only samples are embedded in dce-rpc or smb
#add_generic_analyzer_fuzz_target(xdr) # rpc - no pcap files
#add_generic_analyzer_fuzz_target(sip_tcp) # unnecessary?
#add_generic_analyzer_fuzz_target(socks) # can this one be tested by adding SOCKS pkts to the HTTP corpus?
#add_generic_analyzer_fuzz_target(xmpp) # no pcap files
Binary file added src/fuzzers/corpora/dce_rpc-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/dhcp-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/dnp3_tcp-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/irc-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/modbus-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/mount-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/mqtt-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/mysql-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/ncp-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/nfs-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/ntp-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/portmapper-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/radius-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/rdp-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/rdpeudp-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/rfb-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/sip-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/smb-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/snmp-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/ssh-corpus.zip
Binary file not shown.
Binary file added src/fuzzers/corpora/syslog-corpus.zip
Binary file not shown.
6 changes: 6 additions & 0 deletions src/fuzzers/generic-analyzer-fuzzer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@ static zeek::analyzer::Analyzer* add_analyzer(zeek::Connection* conn)
auto* tcp = new zeek::packet_analysis::TCP::TCPSessionAdapter(conn);
auto* pia = new zeek::analyzer::pia::PIA_TCP(conn);
auto a = zeek::analyzer_mgr->InstantiateAnalyzer(TOSTRING(ZEEK_FUZZ_ANALYZER), conn);
if ( ! a )
{
fprintf(stderr, "Unknown or unsupported analyzer %s found\n", TOSTRING(ZEEK_FUZZ_ANALYZER));
abort();
}

tcp->AddChildAnalyzer(a);
tcp->AddChildAnalyzer(pia->AsAnalyzer());
conn->SetSessionAdapter(tcp, pia);
Expand Down

0 comments on commit 873134f

Please sign in to comment.