TypeError / domained

Multi Tool Subdomain Enumeration
GNU General Public License v3.0
722 stars 157 forks source link

"python domained.py --install" fails if libldns-dev is not installed #7

Closed ieguiguren closed 7 years ago

ieguiguren commented 7 years ago

During the execution of python domained.py --install on Ubuntu 16.04 (I guess this is not limited to this system), there is an error arised during massdns installation: main.c:15:25: fatal error: ldns/rbtree.h: No such file or directory compilation terminated. Makefile:4: recipe for target 'all' failed make: *** [all] Error 1 make: Leaving directory '/home/xir/dev/bugbounty/domained/bin/massdns' This is solved with: apt-get libldns-dev

Maybe it should be added to the docuemntation or the installation script

ghost commented 7 years ago

@ieguiguren Please check line 231 of domained.py, I believe that libldns-dev is already part of the install script.

os.system("apt-get install libldns-dev -y")

ieguiguren commented 7 years ago

I cloned the repo yesterday, Oct 26. These are the lines around 231 in my domained.py:

230 print("\nJHaddix All Domain List Installed\n") 231 os.system(sublstUpgrade) 232 SLsublstUpgrade = ( 233 "wget -O ./bin/sublst/sl-domains.txt https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/DNS/sorted_knock_dnsrecon_fierce_recon-ng.txt ")

This is data from git: [~/domained]>git branch

commit 85f4472984ee910a9eafab8f5dae6816fbac4555 Merge: 19cc57b 7a57677 Author: calebkinney cakinney@gmail.com Date: Wed Sep 27 05:02:35 2017 -0400

Maybe there is a missing merge and it's already fixed in another branch?

On Fri, Oct 27, 2017 at 2:01 AM, reconned project notifications@github.com wrote:

@ieguiguren https://github.com/ieguiguren Please check line 231 of domained.py, I believe that libldns-dev is already part of the install script.

os.system("apt-get install libldns-dev -y")

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/reconned/domained/issues/7#issuecomment-339834279, or mute the thread https://github.com/notifications/unsubscribe-auth/ABudQc8rJQHNzd1J7QhtzYpfeqAIx4amks5swR1CgaJpZM4QHGsT .

ccsplit commented 7 years ago

@ieguiguren Within your version, without my changes it should be found on line 243. My guess is that when running python domained.py --install it was done using your regular user which caused the apt-get install libldns-dev -y step to fail.

ieguiguren commented 7 years ago

@ccsplit You're right. The script was called from my user id, not root. This is how it's described in the README.md. First Step: Install Required Python Modules: sudo pip install -r ./ext/requirements.txt Install Tools: python domained.py --install So this is an oportunity to improve to install on Ubuntu & alike.

Options I can think of:

  1. Updating the README.md to say that you must have root priivleges to install (either as user root or via sudo) and removing from --install/--upgrade description: "Kali is a prerequisite AFAIK".

  2. Update the install function to call "apt-get install" with sudo. I guess this one is the best option as it works transparently on kali and it'd open the potential users to those on ubuntu systems. 231 os.system("sudo apt-get install libldns-dev -y").

As there are other 'sudo' commands along the code: $ grep sudo domained.py subInstallReq = ("sudo pip install -r bin/Sublist3r/requirements.txt") eyeInstallReq = ("sudo bash bin/EyeWitness/setup/setup.sh") I guess the later option has more sense.

If you want me to send a pull request, let me now, but I guess is more annoying than help for this little change.

ghost commented 7 years ago

@ccsplit and @ieguiguren - Thanks for your input! I have updated BOTH the readme and domained.py to reflect the sudo changes.

ieguiguren commented 7 years ago

Thank you, @reconned for your work.