Skip to content

Commit 36f0ba7

Browse files
author
=
committed
gvm 21 support
1 parent d4d51cf commit 36f0ba7

File tree

4 files changed

+38
-9
lines changed

4 files changed

+38
-9
lines changed

pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>io.mixeway</groupId>
77
<artifactId>MixewayOpenVasRestAPI</artifactId>
8-
<version>1.1.0-SNAPSHOT</version>
8+
<version>1.2.0-SNAPSHOT</version>
99
<packaging>jar</packaging>
1010

1111
<name>MixewayOpenVasRestAPI</name>
@@ -92,6 +92,11 @@
9292
<groupId>junit</groupId>
9393
<artifactId>junit</artifactId>
9494
</dependency>
95+
<dependency>
96+
<groupId>org.apache.commons</groupId>
97+
<artifactId>commons-lang3</artifactId>
98+
<version>3.12.0</version>
99+
</dependency>
95100

96101

97102
</dependencies>

src/main/java/pl/orange/bst/mixer/Test.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,15 @@ public void createTask() throws JAXBException {
3939
System.out.println("Create task:");
4040
System.out.println(buildCommandPrefix(user) + "'"+xob.buildGetReport(user, params)+"'");
4141
}
42+
@org.junit.Test
43+
public void getReport() throws JAXBException {
44+
XmlOperationBuilder xob = new XmlOperationBuilder();
45+
User user = new User("gvmadmin","1qaz@WSX");
46+
HashMap<String, String> params =new HashMap<>();
47+
params.put("report_id","c9299f55-c17f-4e33-a3b0-48809213ee6d");
48+
System.out.println("Create task:");
49+
System.out.println(buildCommandPrefix(user) + "'"+xob.buildGetReport(user, params)+"'");
50+
}
4251

4352

4453

src/main/java/pl/orange/bst/mixer/openvas/OpenVasClient.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import javax.xml.parsers.ParserConfigurationException;
1212

1313
import org.apache.commons.io.IOUtils;
14+
import org.apache.commons.lang3.StringUtils;
1415
import org.slf4j.Logger;
1516
import org.slf4j.LoggerFactory;
1617
import org.springframework.beans.factory.annotation.Value;
@@ -33,6 +34,8 @@
3334
public class OpenVasClient {
3435
@Value("${openvasmd.socket}")
3536
private String socket;
37+
@Value("${gvm-cli.exec}")
38+
private String gvmCli;
3639

3740
XmlOperationBuilder xob = new XmlOperationBuilder();
3841
private static final Logger log = LoggerFactory.getLogger(OpenVasClient.class);
@@ -98,7 +101,12 @@ private List<Vuln> loadVulns(User user, HashMap<String, String> params, int star
98101
v.setHost(el.getElementsByTagName("host").item(0).getFirstChild().getTextContent());
99102
v.setDesc(el.getElementsByTagName("description").item(0).getTextContent());
100103
v.setPort(el.getElementsByTagName("port").item(0).getTextContent());
101-
v.setThreat(getThreat(el.getElementsByTagName("severity").item(0).getTextContent()));
104+
if(StringUtils.isNumeric(el.getElementsByTagName("severity").item(0).getTextContent())) {
105+
v.setThreat(getThreat(el.getElementsByTagName("severity").item(0).getTextContent()));
106+
} else {
107+
Element severityNvt = (Element) el.getElementsByTagName("severity").item(0);
108+
v.setThreat(getThreat(severityNvt.getElementsByTagName("score").item(0).getTextContent()));
109+
}
102110
vulns.add(v);
103111
} catch (NullPointerException n) {
104112
//n.printStackTrace();
@@ -192,6 +200,8 @@ private String getTaskStatusResponse(User user, HashMap<String, String> params)
192200
private String getRunTask(User user, HashMap<String, String> params) throws JAXBException, SAXException, IOException, ParserConfigurationException {
193201
ProcessBuilder pb = new ProcessBuilder("bash", "-c", buildCommandPrefix(user) + "'"+xob.buildStartTask(user, params)+"'");
194202
String output = IOUtils.toString(pb.start().getInputStream());
203+
log.debug("Request for starttask is {}", buildCommandPrefix(user) + "'"+xob.buildStartTask(user, params)+"'");
204+
log.debug("Output for starttask is {}", output);
195205
Document doc = DocumentBuilderFactory.newInstance()
196206
.newDocumentBuilder()
197207
.parse(new InputSource(new StringReader(output)));
@@ -229,6 +239,7 @@ private String getCreateTaskResponse(User user, HashMap<String, String> params)
229239
return null;
230240
}
231241
private String getConfigResponse(User user) throws SAXException, IOException, ParserConfigurationException, JAXBException {
242+
log.info("About to execute: {} {} {} '{}'","bash","-c", buildCommandPrefix(user),xob.buildGetConfig(user) );
232243
ProcessBuilder pb = new ProcessBuilder("bash", "-c", buildCommandPrefix(user) + "'"+xob.buildGetConfig(user)+"'");
233244
String output = IOUtils.toString(pb.start().getInputStream());
234245
Document doc = DocumentBuilderFactory.newInstance()
@@ -273,6 +284,8 @@ private String getCreateTargetRespnse(User user, HashMap<String, String> params)
273284

274285
ProcessBuilder pb = new ProcessBuilder("bash", "-c", buildCommandPrefix(user) + "'"+xob.buildCreateTarget(user, params)+"'");
275286
String output = IOUtils.toString(pb.start().getInputStream());
287+
log.debug("Request for createtarget is {}", buildCommandPrefix(user) + "'"+xob.buildCreateTarget(user, params)+"'");
288+
log.debug("Output for createtarget is {}", output);
276289
Document doc = DocumentBuilderFactory.newInstance()
277290
.newDocumentBuilder()
278291
.parse(new InputSource(new StringReader(output)));
@@ -285,6 +298,6 @@ private String getCreateTargetRespnse(User user, HashMap<String, String> params)
285298
}
286299

287300
public String buildCommandPrefix(User user){
288-
return String.format("gvm-cli --timeout 600 --gmp-username=%s --gmp-password=%s socket --socketpath %s --xml ",user.getUsername(), user.getPassword(), socket);
301+
return String.format("%s --timeout 600 --gmp-username=%s --gmp-password=%s socket --socketpath %s --xml ",gvmCli,user.getUsername(), user.getPassword(), socket);
289302
}
290303
}
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
server.port: 8444
2-
server.ssl.key-store: pki/localhost.p12
3-
server.ssl.key-store-password: changeit
2+
server.ssl.key-store: /Users/gs/pki/new.p12
3+
server.ssl.key-store-password: 1qaz@WSX
44
server.ssl.keyStoreType: PKCS12
5-
server.ssl.key-alias=mixer
6-
server.ssl.trust-store=etc/pki/trust.jks
5+
server.ssl.key-alias=mixeway
6+
server.ssl.trust-store=/Users/gs/pki/trust.jks
77
server.ssl.trust-store-password=changeit
88
server.ssl.client-auth=want
9-
openvasmd.socket=/usr/local/var/run/openvasmd.sock
10-
allowed.users=localhost,127.0.0.1
9+
openvasmd.socket=/Users/gs/gvm/gvmd.sock
10+
allowed.users=localhost,127.0.0.1
11+
gvm-cli.exec=gvm-cli
12+
logging.level.root=WARN

0 commit comments

Comments
 (0)