Nmap Development mailing list archives
Sergey. [Status report 17/17]
From: Sergey Khegay <g.sergeykhegay () gmail com>
Date: Tue, 23 Aug 2016 05:02:23 -0400
[Report 17/17]
Hello Nmap,
Side note:
I noticed that the latest updates to the Nmap's Github repository often
contain some minor errors. As for now, the latest version I pulled out
(commit e5a495c1a0b308836a5c1eb14126da704ee9f9c8) does not compile.
engine_kqueue.c:164:42: error: too few arguments to function call,
expected 5, have 4
kqueue_iod_modify(nsp, iod, ev, EV_NONE);
~~~~~~~~~~~~~~~~~ ^
engine_kqueue.c:83:1: note: 'kqueue_iod_modify' declared here
static int kqueue_iod_modify(struct npool *nsp, struct niod *iod, struct
nevent *nse, int ev_set, int ev_clr);
^
engine_kqueue.c:178:58: error: too few arguments to function call,
expected 5, have 4
kqueue_iod_modify(nsp, iod, EV_NONE, EV_READ|EV_WRITE);
~~~~~~~~~~~~~~~~~ ^
engine_kqueue.c:83:1: note: 'kqueue_iod_modify' declared here
static int kqueue_iod_modify(struct npool *nsp, struct niod *iod, struct
nevent *nse, int ev_set, int ev_clr);
^
2 errors generated.
The Windows version, interestingly, compiles but segfaults on a regular
scan.
I could not catch where exactly it happens with the VS2013 debugger.
Whilst the problem with Windows might be very platform and environment
depended on, the compilation problem on Linux could be easily tested and
fixed
before the commit.
I regularly update my dev branches with the Nmap's main branch to avoid
merge
problems in the future. So it is a bit of inconvenience when such bugs
arise.
Definitely, this kind of problems will arise in the future, but I think
it is
for the best if we try to reduce the number of such cases to the minimum.
This will allow all contributors to develop and add new awesome features
easier and sooner. =)
Accomplishments:
- Created PR for merging brute.lua changes
- Ported, edited, and tested more Devin's scripts that work with libssh2
library.
ssh-auth-methods.nse
ssh-brute.nse
ssh-publickey-acceptance.nse
ssh-run.nse
- Submitted final evaluation for GSoC 2016
This is the final report.
Here is an excerpt from my final evaluation for GSoC 2016:
"""
I would like to thank my mentor, Fotis Chantzis, community, and all the
developers who provided helpful feedback and suggestions, Patrick Donnelly,
Daniel Miller, and, my fellow GSoC participant, Vincent Dumont.
During the summer I worked on two major tasks: improving brute.lua and
adding
support for libssh2.
Neither of changes is merged yet. But both projects are finished and are
awaiting for pending review. Current statuses are:
o. gsoc-brute - improving brute.lua changes.
https://github.com/sergeykhegay/nmap/tree/gsoc-brute
A pull request was sent, which can be reviewed here:
https://github.com/nmap/nmap/pull/518
All commits are available here:
https://github.com/sergeykhegay/nmap/commits/gsoc-brute?author=sergeykhegay
A performance report is available here (was shared with Nmap Dev before):
https://drive.google.com/file/d/0Bw4slNtwpBy9TEZVNVBlSUVlZG8/view?usp=sharing
Changes (against latest merged commit from nmap/master):
https://github.com/nmap/nmap/compare/nmap:ed59a3d3700851ac2ae32c502c7058905cebfba6...sergeykhegay:gsoc-brute
o. gsoc-ssh - integration of libssh2.
https://github.com/sergeykhegay/nmap/tree/gsoc-ssh
I will send a pull request as soon as I have a chance to test it on
Windows.
It seems that for the moment nmap/master branch has a bug and segfaults
even
during a simple scan (as of 08.19.16). I will wait until this is fixed.
You
still can pull the project and use it on Linux.
Overall, I would say that the current implementation works pretty stably
as
on Linux as on Windows.
It is worth to mention that there are couple scripts that were also added
(all of them are Devin Bjelland's work. Devin contibuted to this project
before me):
ssh-auth-methods.nse
ssh-brute.nse
ssh-publickey-acceptance.nse
ssh-run.nse
and a library utility:
nselib/libssh2-utility.lua.
Commits are available here:
https://github.com/sergeykhegay/nmap/commits/gsoc-ssh?author=sergeykhegay
Changes (against latest merged commit from nmap/master):
https://github.com/nmap/nmap/compare/nmap:ed59a3d3700851ac2ae32c502c7058905cebfba6...sergeykhegay:gsoc-ssh
Minor projects:
o. gsoc-lpeg - updating LPeg from v0.12 to v1.0.
https://github.com/sergeykhegay/nmap/tree/gsoc-lpeg
This project was stalled because of a presumable bug in LPeg v1.0. I found
a grammar and a pattern for which nmap crashes with a stack overflow. All
this was reported to Patrick Donnelly for further investigation. I plan to
resume on this project as soon as I finish with gsoc-brute and gsoc-ssh
(when they are merged).
PR and discussion are here:
https://github.com/nmap/nmap/pull/478
Commits are here:
https://github.com/sergeykhegay/nmap/commits/gsoc-lpeg?author=sergeykhegay
o. issue-216 - I made a PR before the start of GSoC but committed some
changes
during the program.
https://github.com/sergeykhegay/nmap/tree/issue-216
PR "Add --defeat-icmp-ratelimit option for UDP scanning" is here:
https://github.com/nmap/nmap/pull/353
Commits are here:
https://github.com/sergeykhegay/nmap/commits/issue-216?author=sergeykhegay
As for my plans, I will hang around with Nmap a bit longer, at least until
all
my changes are merged. I hope I will be able to contribute more (I have seen
interesting issues in the bug tracker).
"""
Goals:
o: Finish the brute.lua and libssh2 merge
Best regards,
Sergey.
_______________________________________________ Sent through the dev mailing list https://nmap.org/mailman/listinfo/dev Archived at http://seclists.org/nmap-dev/
Current thread:
- Sergey. [Status report 17/17] Sergey Khegay (Aug 23)
