Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NIOS2 architecture, Unblob eval, restart scan, semgrep, ... #306

Merged
merged 61 commits into from
Sep 22, 2022

Conversation

m-1-k-3
Copy link
Member

@m-1-k-3 m-1-k-3 commented Sep 16, 2022

  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

All kind of changes

  • What is the current behavior? (You can also link to an open issue here)

Missing NIOS2 architecture support
Missing restart functionality of stopped scans
Unblob extractor should be furter evaluated (see https://unblob.org/)
No uninstallation routine
Installer crashes on full installation tries on Ubuntu
CVE values should be black/white listed

  • What is the new behavior (if this is a feature change)? If possible add a screenshot.

NIOS2 architecture support now integrated in S13 and S115 modules (S14 - r2 module is currently missing)
For restarting a scan just restart it and EMBA will instruct you. This feature is currently in an very early experimental state!
Unblob is now integrated via P61 module for further evaluation -> the results are currenlty not further used from EMBA
CSV logs are stored in a separate directory: /LOG_DIR/csv_logs
Installer should not crash anymore on full installation mode on Ubuntu -> The full installation is not supported on Ubuntu
Installer does not download the exploitdb multiple times anymore
print_output not using echo anymore -> switched to printf with safe_echo functionality
Additionally there is a new escape_echo function for untrusted output piped to another command
Closes #303
Closes #302
Addresses and closes #193 from EMBA side (further addressing needed later in EMBArk reporter)
For white/blacklisting of CVE values there are two new configs you can adjust if you want CVE values black or whitelisted
Better UEFI firmware handling (not executing all EMBA modules on detected UEFI firmware)
Make EMBA nearly complete semgrep compatible and introduced semgrep into check_project.sh - In the future new code needs to be also semgrep compatible (we are currently not passing the IFS check and the status bar is also not fixed)
The installer is now also installing semgrep for later semgrep modules as mentioned in this issue #230

  • Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

CSV logs are moved from main log directory to csv_logs sub directory
From now on new pull requests need to pass a semgrep check with bash rules enabled

  • Other information:

New docker image needed for unblob module. Everything else should work fine with the available image. The new docker image will be updated soon.

Screenshot of unblob module:

image

Semgrep check via check_project.sh:

image

Scan restart:

image

After more testing we are going to release version 1.1.2

@m-1-k-3 m-1-k-3 added bug Something isn't working enhancement New feature or request Installation Installation issues labels Sep 16, 2022
config/cve-blacklist.txt Show resolved Hide resolved
installer/R00_emba_remove.sh Outdated Show resolved Hide resolved
installer/R00_emba_remove.sh Outdated Show resolved Hide resolved
@BenediktMKuehne
Copy link
Member

Looks great.
Should be easy to integrate the black-/whitelist into EMBArk

@m-1-k-3
Copy link
Member Author

m-1-k-3 commented Sep 20, 2022

Looks great. Should be easy to integrate the black-/whitelist into EMBArk

Warning: We have moved our csv files to a sub directory. I think this needs to be addressed in EMBArk

Copy link
Member

@p4cx p4cx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked over the most part of the new code - it is insanely amazing! Some smaller stuff I found. Please for the future: Can you split your PRs with different branches - I would prefer more PRs but with less code changed in it. It is really confusing to guess for which new feature which code belongs to and what is just a small fix overall.

CONTRIBUTING.md Show resolved Hide resolved
emba.sh Show resolved Hide resolved
@m-1-k-3
Copy link
Member Author

m-1-k-3 commented Sep 21, 2022

Please for the future: Can you split your PRs with different branches - I would prefer more PRs but with less code changed in it. It is really confusing to guess for which new feature which code belongs to and what is just a small fix overall.

I will try it. On the other hand it will get complicated as I need most of the changes (which are then split in multiple PR) for further tests. And as the review process sometimes stucks I have no complete environment as long as the PRs are not merged into the master. Do you have a alternative solution for this?

@m-1-k-3 m-1-k-3 mentioned this pull request Sep 21, 2022
@BenediktMKuehne
Copy link
Member

BenediktMKuehne commented Sep 21, 2022

image
image

Did something change regarding the scan-profiles?
(ubuntu-vm)

@BenediktMKuehne
Copy link
Member

I will try it. On the other hand it will get complicated as I need most of the changes (which are then split in multiple PR) for further tests. And as the review process sometimes stucks I have no complete environment as long as the PRs are not merged into the master. Do you have a alternative solution for this?

I just switched to Git worktrees for my EMBArk workflow.
Makes switching between branches without committing easier. I don't know though, how much that would help with interdependent branches...

@m-1-k-3
Copy link
Member Author

m-1-k-3 commented Sep 21, 2022

Did something change regarding the scan-profiles? (ubuntu-vm)

I don't know what is happening on your machine. Works on mine ;)

image

@m-1-k-3
Copy link
Member Author

m-1-k-3 commented Sep 21, 2022

Did something change regarding the scan-profiles? (ubuntu-vm)

I don't know what is happening on your machine. Works on mine ;)

Ubuntu related ... can also reproduce it on my Ubuntu

@p4cx
Copy link
Member

p4cx commented Sep 21, 2022

Without messing around with branches, no, I have no idea how to improve it. Since your development process is very agile and dependent on previous features, you might create a branch, implement the new feature, and after creating the PR, create a new branch from that branch. After we merge the PR, we can merge the master branch with your second branch and so on. But it can get really messy. I'd appreciate if you could try it - if it doesn't work for you we can go back to the current process.

@m-1-k-3
Copy link
Member Author

m-1-k-3 commented Sep 21, 2022

Did something change regarding the scan-profiles? (ubuntu-vm)

I don't know what is happening on your machine. Works on mine ;)

Ubuntu related ... can also reproduce it on my Ubuntu

It is the notification system which does not support the -p parameter on Ubuntu. I will fix this

@m-1-k-3 m-1-k-3 merged commit e06b9b0 into e-m-b-a:master Sep 22, 2022
@m-1-k-3 m-1-k-3 mentioned this pull request Sep 22, 2022
This was referenced Apr 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request Installation Installation issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

password hashes not being cracked Reinstallation of emba {Enhancement} HTML toggles for false positives
3 participants